我有三个按钮,我想用一个变量来限制其可见性。但是我的印象是未检测到我的变量。]>
MainPage.xaml:
<Button Margin="0,0,0,50" Name="startButton" Height="50" Width="250" Click="OnStartClick" ClickMode="Press" Visibility="{Binding StartVisibility, Converter={StaticResource BoolToVisibilityConverter}}"> Start </Button> <Button Margin="0,0,0,50" Name="validButton" Height="50" Width="250" Click="OnValidClick" ClickMode="Press" Visibility="{Binding ValidVisibility, Converter={StaticResource BoolToVisibilityConverter}}"> Valid </Button> <Button Margin="0,50,0,0" Name="stopButton" Height="50" Width="250" Click="OnStopClick" ClickMode="Press" Visibility="{Binding StopVisibility, Converter={StaticResource BoolToVisibilityConverter}, Mode=OneWay}"> Cancel </Button>
MainPage.xaml.cs:
private IMapService _mapService; private bool drawing = false; public bool StopVisibility { get { return drawing; } } public bool StartVisibility { get { return !drawing; } } public bool ValidVisibility { get { return _mapService.SketchEditorCanExecute(); } }
IMapService.cs:
bool SketchEditorCanExecute();
BoolToVisibilityConverter.cs:
public object Convert(object value, Type targetType, object parameter, String language) { Boolean val = false; if (value is Boolean) { val = (Boolean)value; } return val ? Visibility.Visible : Visibility.Collapsed; }
带有断点,我看到我从来没有经历过Get方法。转换器也有同样的问题。
有什么想法吗?
我有三个按钮,我想用一个变量来限制其可见性。但是我的印象是未检测到我的变量。 MainPage.xaml:
您可能忘记了设置DataContext
。
非常感谢,它有效。