2

今日、MSDN でコンバーターのリストを見つけたので、そのうちのいくつかを使用したいと思います。しかし、少し検索した後、それらについて何も見つけられないようです。

私は主にIntToBoolConverterを使いたいと思っています。ただし、変換の方法が提供されていないため(またはGoogleで)、変換の使用方法がわかりませんでした。

このコンバーターを自分で簡単に作成できることは知っていますが、私はプログラマーであり、できる限り怠け者であり、既に存在するメソッド (コンバーター) を作成するのは冗長な作業です。

誰かがこれらのコンバーターの使用方法を私に説明してくれることを願っています.

編集:

返信を試みた後、ユーザーコントロールの読み込み時にエラーが発生しました:

{"Cannot find resource named 'IntToVisibleConverter'. Resource names are case sensitive."}

App.xaml

<Application x:Class="Smartp1ck.JungleTimerClient.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:msconv="clr-namespace:Microsoft.TeamFoundation.Controls.WPF.Converters;assembly=Microsoft.TeamFoundation.Controls">
    <Application.Resources>
        <msconv:IntToVisibleConverter x:Key="IntToVisibleConverter" />
    </Application.Resources>
</Application>

そして、ユーザーコントロールで

<TextBlock Text="{Binding TimeLeft}" HorizontalAlignment="Center" Visibility="{Binding Path=TimeLeft, Converter={StaticResource IntToVisibleConverter}}" />

EDIT2:

ユーザーコントロールのリソースに入れると機能します。なんらかの理由で app.xaml を使用できないのは残念ですが、後で調べます。助けてくれてありがとう、解決しました!

マキシム

4

1 に答える 1

6

Microsoft.TeamFoundation.Controls.dllアプリと xaml で参照として追加する必要があります。その後、ウィンドウ リソースでコンバーターを宣言し、アプリケーションで使用できます。

例:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:mstf="clr-namespace:Microsoft.TeamFoundation.Controls.WPF.Converters;assembly=Microsoft.TeamFoundation.Controls"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <mstf:IntToBoolConverter x:Key="IntToBoolConverter" />
    </Window.Resources>

    <Grid>
        <CheckBox IsChecked="{Binding Path=MyInt, Converter={StaticResource IntToBoolConverter}}" />
    </Grid>
</Window>

アプリケーション全体 (他のウィンドウ/ダイアログなど) でコンバーターをグローバルに使用する場合は、コンバーターをApp.xaml

例:

<Application x:Class="WpfApplication1.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mstf="clr-namespace:Microsoft.TeamFoundation.Controls.WPF.Converters;assembly=Microsoft.TeamFoundation.Controls"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <mstf:IntToBoolConverter x:Key="IntToBoolConverter" />
    </Application.Resources>
</Application>

最初の例と同じようにこれにアクセスできますConverter={StaticResource IntToBoolConverter}

于 2013-01-29T01:03:11.153 に答える