为自定义类添加图形表示形式



下午好,

我正在尝试创建一个用户可以在运行时添加到 UI 的自定义类。基本上,为了简单起见,我有一个称为"工作站"的类,它有一个名为 Ping() 的方法和一个名为 IPAddress 的属性。当调用 Ping() 时,如果 IP 地址是可 ping 的,我希望我的工作站"图标"出现,当它不可 ping 时,我希望它是不可见的。

在运行时,用户将单击"添加工作站"(使用IP地址),这将创建"工作站"的实例,并且他将能够在网格中放置"工作站"图标。如果需要,他也可以移动它。

最好的方法是什么?我试图从 Image 类(用户控件)继承,但我试图找到一种更简单的方法,不会破坏 MVVM 原则。

您需要使用数据模板

Xaml :

定义命名空间

  <UserControl xmlns:local="...your local namespace" >
      <UserControl.Resources>
         <DataTemplate x:Key="workStation" DataType="{x:Type local:WorkStation}">
              <TextBlock Text="{Binding IPAddress}" />          
        </DataTemplate>
      </UserControl.Resources>
      <ContentControl Content="{Binding CurrentWorkStation}" ContentTemplate="{StaticResource workStation}" />
   </UserControl>

.cs:

  public class WorkStation 
  {
      public string IPAddress
      {
         get{ return "127.0.0.1";}
      }
  }

在您的视图模型中:

  public WorkStation CurrentWorkStation
  {
      get{return new WorkStation();}
  }

相关内容

  • 没有找到相关文章

最新更新