农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述Metro / Windows Store App:相对图像源绑定不起作用?相关的知识,希望能为你提供帮助。
我正在尝试为我的WinRT项目创建一个ImageToggleButton,以针对其IsChecked属性更改其图像。
在Visual Studio 2012和Windows 8的Visual Studio Express的设计器中,ToggleButton的行为符合预期,但是在运行时图像不会显示。
有什么想法吗?
XAML:
<
Page.Resources>
<
local:BooleanImageConverter x:Name="BoolImgConverter"/>
<
/Page.Resources>
<
Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<
ToggleButton HorizontalAlignment="Left" Height="200" Margin="260,205,0,0" VerticalAlignment="Top" Width="833" Background="Yellow">
<
Image Source="{Binding RelativeSource={RelativeSource Mode=Self}, Path=Parent.IsChecked, Converter={StaticResource BoolImgConverter}, ConverterParameter=Assets/chkMusic}"/>
<
/ToggleButton>
<
/Grid>
CodeBehind:
public class BooleanImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string culture)
{
bool state = (bool)value;
string baseName = (string)parameter;
return string.Format("{0}_{1}checked.png", baseName, state ? "" : "un");
}public object ConvertBack(object value, Type targetType, object parameter, string culture)
{
return null;
}
}
代码说明:
我将图像控件放入ToggleButton中,并使用一个转换器将图像源绑定到包含(父)ToggleButton的IsChecked属性,该转换器根据IsChecked装饰给定的ConverterParameter来提供引用所需图像文件的字符串。 >
当然,我可以在后面的代码中执行此操作,但我希望尽可能在XAML中执行此操作。
此刻,我也不是在构建ControlTemplate之后,我会尝试使用RelativeSource FindAncestor和该论坛的其他建议,但是这些似乎在Windows Store Apps中不起作用(或者我错了吗?]。>
我将不胜感激。
感谢
(顺便说一句:我试图将Windows-store-app作为标签添加到这篇文章,但无法创建此新标签-别人会这样做吗]
我正在尝试为我的WinRT项目创建一个ImageToggleButton,以更改其IsChecked属性的图像。在Visual Studio 2012和Visual Studio Express的设计器中,用于...
答案家长从未像您想的那样工作。有两种方法可以满足您的需求。
【Metro / Windows Store App(相对图像源绑定不起作用())】首先是保留RelativeSource绑定,但删除IsChecked的路径。这会将控制权传递给转换器。在其中,您可以使用VisualTreeHelper获取父项。
推荐阅读
- 在开发Windows Phone 8.1应用程序时,我在哪里可以找到保存在ApplicationData.Current.LocalFolder中的文件()
- Angular - 模块AppModule导入的意外值MatDialog
- Pool.apply_async()。get()导致_thread.lock pickle错误
- 在Angular5 app中的leaflet弹出窗口中调用zone.run
- 5个用于Cookie操作的最佳JavaScript库
- 7个适用于PHP的最佳Curl包装器库
- 7个最好的PHP Http客户端库
- 7个最佳360°(矩形)图像查看器JavaScript插件
- 5个最佳开放源代码HTML渲染库,可将HTML5/CSS3用作C#的用户界面