未检测到UWP中绑定可见性属性的变量

问题描述 投票:0回答:2

我有三个按钮,我想用一个变量来限制其可见性。但是我的印象是未检测到我的变量。]​​>

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:

c# xaml binding visibility converters
2个回答
0
投票

您可能忘记了设置DataContext


0
投票

非常感谢,它有效。

© www.soinside.com 2019 - 2024. All rights reserved.