圖像替換FormatConvertedBitmap我很新的WPF和問題如下。基於的datacontext價值
按鈕與圖片真的應該表現得像那些的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)。
但是我真正需要的是僅在選定項目爲空時將其變灰。
所以,我有兩個問題。 1.如何根據數據上下文值應用所有這些東西?可能會創建另一個轉換器。 然後,我將不得不以編程方式執行此聲明xaml?或者我可以在xaml中定義一些規則,所以只有在規則觸發時,部分纔會有效?
2,本應做幾個按鈕 - 這怎麼能邏輯可以分解出來(我看到有關項目的一些style.xaml - 就是把它放在哪裏)?
感謝審議。
,我是很新的WPF。那麼,我如何通過那些需要它的按鈕來引用這個樣式(不是所有的按鈕) - 我看到按鈕上有一個Style屬性,但在Style標籤中沒有看到類似Name屬性的東西。而且,對於一個按鈕,圖像是相同的,無論其是啓用還是禁用。只需要將其變灰。但是我明白你的觀點 - 只需將移動到Style.Triggers,對吧?但是,每個按鈕都有自己的圖像源,那麼我怎樣才能將其替換爲樣式? –
Nickolodeon
2012-01-04 19:29:48
@Nickolodeon你可以給你的風格,例如鍵'<形式X:鍵= ImageButtonStyle ... />'然後將其應用到特定的按鈕'<按鈕樣式= 「{StaticResource的ImageButtonStyle}」'。如果啓用和禁用的圖片都是相同的,只需從樣式中刪除這些圖片,並設置每個按鈕的'',而不是在樣式中設置該值。 –
Rachel
2012-01-04 19:38:05
實際上我有類似於 – Nickolodeon 2012-01-04 19:43:53