gpt4 book ai didi

WPF/XAML - 如果另一个控件的文本属性为空/未设置,则隐藏图像

转载 作者:行者123 更新时间:2023-12-04 07:03:20 26 4
gpt4 key购买 nike

我是 wpf 的新手,这是我第一次尝试创建自定义用户控件。其目的是显示两个值(myText1 和 myText2)及其对应的图像(myimage1、myimage2)。有时,未设置这些值之一,因此也应隐藏 oneimage。到目前为止,这是我的代码:

窗口1.xaml

<local:myControl myText2="Hello World!" />

myControl.xaml
<TextBlock Text="{Binding ElementName=myControl,Path=myText1}" />
<Image Source="myimage1.jpg" />

<TextBlock Text="{Binding ElementName=myControl,Path=myText2}" />
<Image Source="myimage2.jpg" />

myText1 未在 window1.xaml 中设置,因此文本块保持为空。但图像仍然显示。如果在 window1.xaml 中未设置 myText1(或 myText2),我缺少哪些代码行来隐藏图像?

最佳答案

您已将文本转换为可见性

public class TextToVisibilityConverter : IValueConverter
{
public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is string && targetType == typeof(bool))
{
if (value.ToString().Equals(string.Empty))
return Visibility.Hidden;
else
return Visibility.Hidden;
}
else
{
return null;
}
}

public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is Visibility && targetType == typeof(string))
{
if ((Visibility)value == Visibility.Visible)
{
return "Text";
}
else
{
return string.Empty;
}
}
else
{
return null;
}
}
}

而在 XAML < TextToVisibilityConverter x:Key="myCnverter"/>

关于WPF/XAML - 如果另一个控件的文本属性为空/未设置,则隐藏图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com