c# - 仅通过 XAML 将复选框绑定到元素可见性
问题描述
我不明白为什么绑定不能这样工作?
<UserControl>
<StackPanel>
<CheckBox x:Name="CBTempA" VerticalAlignment="Center" Margin="10,0,0,0"/>
<Label VerticalAlignment="Center">Temp A</Label>
</StackPanel>
<lvc:CartesianChart>
<lvc:CartesianChart.Series>
<lvc:LineSeries Values="{Binding TempAValues}" Visibility="{Binding ElementName=CBTempA, Path=IsChecked, Converter={StaticResource BoolToVisibility}}"/>
</lvc:CartesianChart.Series>
</lvc:CartesianChart>
</UserControl>
解决方案
转换器BoolToVisibility
将布尔值 ( IsChecked
) 转换为 System.Windows.Visibility 值。它可能看起来像这样:
public class BoolToVisibilityConverter : IValueConverter
{
// value is a parameter from xaml (IsChecked)
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is bool)
{
return (bool) value ? System.Windows.Visibility.Visible : System.Windows.Visibility.Collapsed;
}
return System.Windows.Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
推荐阅读
- scheme - 用匹配缩短
- html - 应用保证金
- reactjs - ReactJs 使用事件处理程序获取组件数据
- python - 点云数据的快速搜索算法
- wordpress - Pod 图像显示为损坏的图像链接图标
- tensorflow - Tensorflow 读取多 csv 需要太多时间
- ffmpeg - How to split a mp4 file into multiple .m4s chunks with one init.mp4 file
- c - 从指令指针偏移的目标文件的反汇编
- ios - 如何在 swift 4.2 中为 UITableViewCell 的自定义视图设置阴影?
- javascript - JavaScript 计算器 - 只有一个按钮不起作用(平方根)