Silverlight:在silverlight中显示禁用图标的最简单方法是什么

时间:2010-12-13 18:20:01

标签: silverlight-4.0

在JS中我只会更改图像的资源URL。在SL4中是否有一种方法可以将某些效果应用于图像以使其变灰或者表示该命令被禁用?图像采用png格式。

2 个答案:

答案 0 :(得分:0)

Silvelright中的每个Control都有IsEnabled属性。这可以用于定义启用/禁用状态,然后可以在XAML中对其进行样式设置(按钮上的层以指示它被禁用)。但是,Image并非来自Control,因此没有IsEnabled属性。

您可以创建一个自定义Image类,该类将负责使用VisualStateManager来应用所述行为。

您还可以创建一个自定义UserControl,它可以封装您正在寻找的行为;利用这两个图像并根据暴露的属性在它们之间切换;即...的IsEnabled。

您也可以像在JS中那样进行Image.Source路线,这将改变正在显示的图像;将逻辑推到别处,然后在代码后面更改源代码。

答案 1 :(得分:0)

或者,您可以将图像包装在超链接控件中(假设您需要处理单击事件),并设置超链接的IsEnabled属性:

<HyperlinkButton x:Name="btnSave" Click="btnSave_Click" IsEnabled="False">
    <Image Source="/YourNamespace;component/Images/Icons/Save.png" Stretch="Fill"/>
</HyperlinkButton>