【发布时间】:2020-07-29 10:41:44
【问题描述】:
我有三个按钮,我想用一个变量来调节它们的可见性。 但我的印象是我的变量没有被检测到。
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 方法。 转换器也有同样的问题。
有什么想法吗?
【问题讨论】:
标签: c# xaml binding visibility converters