我正在使用MVVM模式(入门)用于WPF应用程序
我有一个在模型TrainDirection类Train.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)