私はwpfとその問題を次のように非常に熟知しています。datacontext値に基づく画像の代わりにFormatConvertedBitmapを使用
イメージを持つボタンは、実際にはWinFormsのように動作するはずです - 無効にするとグレー表示されます。イメージの不透明度の設定は色が残っているため不十分です。これは、グレー表示のボタンを生成し、ジョブが半分に行われ
<Image RenderOptions.BitmapScalingMode="NearestNeighbor" Height="20" Width="20"
Opacity="{Binding SelectedItem, Converter={StaticResource selectedItemPresent}}">
<Image.Source>
<FormatConvertedBitmap DestinationFormat="Gray8">
<FormatConvertedBitmap.Source>
<BitmapImage UriSource="Images/edit_info.png" />
</FormatConvertedBitmap.Source>
</FormatConvertedBitmap>
</Image.Source>
<Image.OpacityMask>
<ImageBrush>
<ImageBrush.ImageSource>
<BitmapImage UriSource="Images/edit_info.png">
</ImageBrush.ImageSource>
</ImageBrush>
</Image.OpacityMask>
</Image>
:
は、だから私は、コードの一部を発見しました。 (コンバータはデータバインドされた項目値に基づいて1または0.3を返します)しかし、私が本当に必要とするのは、選択した項目がnullの場合にのみ灰色にすることです。
私は2つの質問があります。 1.データコンテキスト値に基づいてすべてのものを適用する方法?別のコンバータを作成することができます。 次に、この宣言的なxamlをプログラムで実行する必要がありますか?あるいは、xamlでいくつかのルールを定義することができるので、ルールが起動したときにのみ有効になります。
2.これはいくつかのボタンに実行する必要があります - このロジックをどのように取り除くことができますか(私は関連するプロジェクトでいくつかのstyle.xamlを見ました。
ありがとうございました。
に似て、それの問題に苦しんでいますが、私は、多くの機会に正常にこれを使用しています。だから、私はこのスタイルを必要とするボタン(すべてではない)でこのスタイルをどのように参照するのですか? - ボタンにStyleプロパティがありますが、StyleタグのName属性のようなものは見えません。また、画像は、有効か無効かに関係なく、1つのボタンで同じです。ただそれを灰色にする必要があります。しかし、私はあなたのことを知っています - 単にをStyle.Triggersに移動してください。しかし、すべてのボタンには独自のイメージソースがありますので、どのようにスタイルを変えることができますか? –
Nickolodeon
@Nickolodeonあなたのスタイルに ''のようなスタイルを与え、それを特定のボタン '
実際には、 – Nickolodeon