gpt4 book ai didi

c# - 无法使用 View 模型使控件在 WPF 的窗口中可见和隐藏?

转载 作者:太空狗 更新时间:2023-10-30 01:25:34 25 4
gpt4 key购买 nike

我实现了一个文本框,它必须在未选中复选框时可见,反之亦然。这是我的观点:

 <TextBox Visibility="{Binding VisiMaxTime}" Height="23" HorizontalAlignment="Left" Margin="165,36,0,0" Text="{Binding Path=MaxTime,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" VerticalAlignment="Top" Width="75" />
<CheckBox IsChecked="{Binding MaxTimeIsChecked}" Content="Geen" FontWeight="Bold" Height="16" HorizontalAlignment="Left" Margin="104,39,0,0" Name="checkBox1" VerticalAlignment="Top" />

这是我的 View 模型:

public bool MaxTimeIsChecked
{
get { return maxTimeIsChecked; }
set
{
maxTimeIsChecked = value;
if (maxTimeIsChecked == true)
{
VisiMaxTime = Visibility.Hidden;
this.Examination.MaxTime = 0;
}

else
VisiMaxTime = Visibility.Visible;
OnPropertyChanged("MaxTimeIsChecked");
}
}



private Visibility visiMaxTime;
public Visibility VisiMaxTime
{
get { return visiMaxTime; }
set
{
visiMaxTime = value;
OnPropertyChanged("VisiMaxTime");
}
}

所以我认为这很好,这在用户控件中有效,但现在我在窗口中工作。如果我在 Visibility 的 setter 中设置一个断点,它工作正常,但文本框只是不可见?有人知道我做错了什么吗?

谢谢

最佳答案

如果文本框的可见性取决于复选框,为什么不直接绑定(bind)到它呢?

 <TextBox Visibility="{Binding ElementName=checkBox1,Path=IsChecked,Converter=BooleanToVisibilityConverter}" />

您需要使用 BooleanToVisibilityConverter 将 Bool 转换为 Visiblity

关于c# - 无法使用 View 模型使控件在 WPF 的窗口中可见和隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6664632/

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