【问题标题】:MVVM treeview selected item using converter使用转换器的 MVVM 树视图选定项目
【发布时间】:2014-11-07 07:09:42
【问题描述】:

我是 MVVM 的初学者。我想将选定的树视图项绑定到文本块。我找到了解决方案here。所以我在我的项目中实现了相同的......:

 <TextBox Text="{Binding SelectedItem, Converter={StaticResource GetTextFromItemConverter}, ElementName=tvMain, Mode=OneWay}"

还在我的视图模型中创建了 GetTextFromItemConverter 类(与解决方案中的相同)。 但是在 xaml 中我得到了错误提示

无法解析资源 GetTextFromItemConverter。

如何解决这个问题??

【问题讨论】:

  • 在哪里声明转换器的实例(资源键为GetTextFromItemConverter)?我怀疑你甚至没有声明任何,只是使用它的类名作为资源键。
  • @KingKing 你能告诉我如何添加'GetTextFromItemConverter'的资源密钥吗?

标签: c# wpf xaml mvvm treeview


【解决方案1】:

我想GetTextFromItemConverter 类是在某个名为TestDemo 的命名空间中定义的。您首先必须创建该类的一些实例作为 XAML 中的一些资源。例如,您可以将其添加为 Window.Resources 的某个资源,我们需要导入该类的命名空间,以便我们可以创建该类的实例,如下所示:

<Window ...
        xmlns:local="clr-namespace:TestDemo">
   <Window.Resources>
     <local:GetTextFromItemConverter x:Key="textConverter"/>
   </Window.Resources>
   <!-- ... -->
     <TextBox Text="{Binding SelectedItem, 
                     Converter={StaticResource textConverter},
                     ElementName=tvMain, Mode=OneWay}"/>
   <!-- ... -->
</Window>

注意添加部分xmlns:local="clr-namespace:TestDemo" 是导入TestDemo 命名空间并别名为local 前缀。 ... 是您在窗口中的占位符(由设计器自动生成)。

【讨论】:

    【解决方案2】:

    检查您映射的视图模型是否被正确引用,如果正确,则完美检查对您使用的转换器的路径引用。

    例如:

    xmlns:converter="using your namespace path"-location 转换器在资源字典中的位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-07
      • 2013-08-10
      • 2015-11-07
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多