小编Ami*_*sky的帖子

WPF绑定枚举到可见性

我正在使用MVVM模式(入门)用于WPF应用程序

我有一个在模型TrainDirectionTrain.cs中定义的属性:

public enum TrainDirection
{
    Unknown,
    None,
    Left,
    Right
}
Run Code Online (Sandbox Code Playgroud)

在视图中我想显示/隐藏一个symbol表示trainObject根据枚举值的值.

在此输入图像描述

我创建了一个'UserControl':

<Grid >
    <Path x:Name="TrainToRight" Data="M80,160L220,160 270,190 220,220 80,220"  Stretch="Fill"  StrokeThickness="2" Opacity="0.9"      
    </Path>

    <Path x:Name="TrainToLeft" Data="M130,160L260,160 260,220 130,220 80,190z" Stretch="Fill"  StrokeThickness="2" Opacity="0.9"
    </Path>        
</Grid>
Run Code Online (Sandbox Code Playgroud)

我想我需要类似a的东西trainDirectionToVisibilityConverter来将可见性Property绑定到TrainDirection,以便根据Direction显示/隐藏正确的符号.

我想用这种方式实现转换器:

class TrainDirectionToVisibilityConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var direction = (TrainDirection)value;
        switch (direction)
        {
            case TrainDirection.Unknown:
                return Application.Current.FindResource("TrainDirectionUnknown");

            case TrainDirection.None:
                return Application.Current.FindResource("TrainDirectionNone");

            case …
Run Code Online (Sandbox Code Playgroud)

c# wpf xaml binding

3
推荐指数
1
解决办法
1625
查看次数

标签 统计

binding ×1

c# ×1

wpf ×1

xaml ×1