如何在c#wpf后面的代码中读取图像x:name

时间:2017-04-04 05:41:15

标签: c# wpf xaml datagrid

我有一个Datagrid。在那,我在

中采用了图像控制
 <DataGridTemplateColumn.HeaderTemplate>
    <DataTemplate>
        <Image name:image1 source="">
 </DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>

现在,我想要隐藏此图像&#34; image1&#34;并在需要时使用此属性显示

image1.Visibility = Visibility.Hidden;

image1.Visibility = Visibility.Visible;

但问题是,我无法阅读&#34; image1&#34;完成此操作后面的代码中的图像控件的名称。
有人可以帮助我做什么是最好的方法,以及如何从datagrid中读取代码中的名称。

提前致谢

2 个答案:

答案 0 :(得分:0)

您无法直接找到儿童控制。下面的示例将帮助您从Datagrid中查找子控件及其值。 http://www.c-sharpcorner.com/UploadFile/8911c4/how-to-find-control-and-its-value-form-datagrid-in-wpf/

答案 1 :(得分:0)

您可以使用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();
}


}
相关问题