刚学的MVVM模式,然后给xaml里面控件的visibility绑定vm里面的属性,想动态控制他的显示和隐藏,但是绑定完赋初值不好用,想隐藏的控件还是没有隐藏
3条回答 默认 最新
- 霸都小魔女 2023-03-07 15:59关注
小魔女参考了bing和GPT部分内容调写:
MVVM模式下,给visibility赋初值不好用可能是因为没有设置正确的绑定方式。在xaml中,可以通过绑定vm里面的属性来控制控件的显示和隐藏。例如:<Button Visibility="{Binding IsVisible, Converter={StaticResource BooleanToVisibilityConverter}}" />
其中IsVisible是vm里面的属性,BooleanToVisibilityConverter是转换器,用于将bool值转换为Visibility值,代码如下:
public class BooleanToVisibilityConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { return (bool)value ? Visibility.Visible : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { return (Visibility)value == Visibility.Visible; } }
另外,在vm中,要给IsVisible赋初值,例如:
public class MyViewModel { public bool IsVisible { get; set; } public MyViewModel() { IsVisible = false; } }
这样,就可以正确的给visibility赋初值,控制控件的显示和隐藏了。
回答不易,记得采纳呀。解决 无用评论 打赏 举报
悬赏问题
- ¥30 模拟电路 logisim
- ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
- ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
- ¥15 安装quartus II18.1时弹出此error,怎么解决?
- ¥15 keil官网下载psn序列号在哪
- ¥15 想用adb命令做一个通话软件,播放录音
- ¥30 Pytorch深度学习服务器跑不通问题解决?
- ¥15 部分客户订单定位有误的问题
- ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
- ¥15 Bug traq 数据包 大概什么价