[英]How to read the image x:name in the code behind c# wpf
我有一个Datagrid。 因此,我在
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<Image name:image1 source="">
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
现在,我要隐藏此图像“ image1”,并在需要时通过使用此属性显示该图像
image1.Visibility = Visibility.Hidden;
和image1.Visibility = Visibility.Visible;
但问题是,我无法在后面的代码中读取图像控件的“ image1”名称来完成此操作。
谁能帮我实现此目的的最佳方法是什么,以及如何从datagrid中读取代码中的名称。
提前致谢
您无法直接找到子控件。 下面的示例将帮助您找到子控件及其在Datagrid中的价值。 http://www.c-sharpcorner.com/UploadFile/8911c4/how-to-find-control-and-its-value-form-datagrid-in-wpf/
您可以使用Converter来解决此问题
在XAML的资源部分中
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
在图像中添加
Visibility="{Binding BoolValue, Converter={StaticResource BooleanToVisibilityConverter}}"
变流器
public class BooleanToVisibilityConverter : IValueConverter
{
private object GetVisibility(object value)
{
if (!(value is bool))
return Visibility.Collapsed;
bool objValue = (bool)value;
if (objValue)
{
return Visibility.Visible;
}
return Visibility.Collapsed;
}
public object Convert(object value, Type targetType, object parameter, string language)
{
return GetVisibility(value);
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
throw new NotImplementedException();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.