繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM