Wpf 试图隐藏复选框,直到选择了菜单选项,但复选框无效';隐藏
我有一个复选框,只有在选择菜单选项时才会出现。未选择菜单选项时,应隐藏复选框。我在代码中设置了可见性变量:Wpf 试图隐藏复选框,直到选择了菜单选项,但复选框无效';隐藏,wpf,xaml,checkbox,binding,visibility,Wpf,Xaml,Checkbox,Binding,Visibility,我有一个复选框,只有在选择菜单选项时才会出现。未选择菜单选项时,应隐藏复选框。我在代码中设置了可见性变量: private Visibility _checkboxVisibility; public Visibility CheckboxVisibility { get { return _checkboxVisibility; } set { SetProperty(ref _checkboxVisibi
private Visibility _checkboxVisibility;
public Visibility CheckboxVisibility
{
get
{
return _checkboxVisibility;
}
set
{
SetProperty(ref _checkboxVisibility, value);
OnPropertyChanged(nameof(CheckboxVisibility));
}
}
初始化视图模型时,我确保将其设置为Hidden
。当选择菜单选项时,它被设置为可见
下面是XAML代码的一个片段:
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="7*" />
<ColumnDefinition Width="2*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0"
IsChecked="{Binding IsSelected, Mode=TwoWay}"
Visibility="{Binding CheckboxVisibility, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
有更多的专栏,但这似乎是重要的一点。如果我将其设置为“直接
隐藏”
,复选框将被隐藏,因此我的绑定有问题,但我不确定是什么问题。我还尝试将其绑定到布尔值并使用转换器,但这似乎也没有帮助。我试着在网上寻找答案,但无论我走到哪里,我都能看到另一个项目绑定到一个复选框。任何帮助都将不胜感激。好吧,我找到了答案,结果我没有给任何人足够的解释来帮助我。listview的ItemSource
绑定上没有CheckboxVisibility
属性。它试着像以前那样绑在它身上。我必须使用相对资源
属性,如下所示:
Visibility="{Binding DataContext.MassImportModeVisibility, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
我会尽量在将来提供足够的信息