【问题标题】:Is is possible to enable intellisense for XAML binding to view model?是否可以为 XAML 绑定到视图模型启用智能感知?
【发布时间】:2015-09-05 17:26:26
【问题描述】:

我总是在视图模型中为我的字段使用如此明显的名称,因此我实际上不需要智能感知。但是,我刚刚发现,在处理坚持使用非英语名称的程序员的代码时,我需要它(因为“使用母语编码更容易”)。

所以问题是 - 是否有可能让 XAML 智能感知为我提供视图模型中的字段列表(很简单)?

C#

public ElViewoConstructo()
{
  InitializeComponent();
  DataContext = new ElViewoModello();
}

XAML

<ProgressBar Maximum="{Binding Path=Donkey}"
             Minimum="0"
             Value="{Binding Path=Monkey}"
             Visibility="{Binding Path=Wonkey.Bonky}" />

如果可能的话,我猜我需要以某种方式注册数据上下文。但令人惊讶的是,我找不到谷歌有用的东西。我可能使用了错误的搜索词集,但我在 SQL Management Studio 上只收到了智能感知问题...

【问题讨论】:

  • programmers insisting on using non-english names - 应该永远禁止编程。这来自非英语母语人士。
  • @HighCore 我听说过这样的两个论点。一是母语使它更容易。另一个是实体的命名是特定于国家的。两者都是错误的,其中一个简直是愚蠢的。
  • 我的客户有整个土耳其语代码库,在迁移时,我觉得学习土耳其语更容易
  • @CodeNameJack 我印象深刻。并且有点担心。我想将每个非英语变量和类翻译成随机的字符组合。然后,我会把它推到作者的喉咙里,声称这是一种他们不熟悉的很酷的语言 X。比,看着他们受苦……无论如何,关键词是不可翻译的,无论如何我们都会陷入英语和母语的奇怪组合。地狱里有一个特殊的角落供程序员这样做,哈哈哈。 :)

标签: c# wpf xaml mvvm data-binding


【解决方案1】:

在 XAML 中设置 DataContext:

<Window>
  <Window.DataContext>
      <local:ElViewoModello/>
  <Window.DataContext>
</Window>

或使用d:DataContext 定义设计时DataContext 类型:

<Window d:DataContext="{d:DesignInstance local:ElViewoModello}"/>

您可能需要添加

xmlns:mc="schemas.openxmlformats.org/markup-compatibility/2006"  
mc:Ignorable="d" 

到您的 xaml。

【讨论】:

  • @LeeO。哦,所以回复中的第二个建议是一个hack-around,对吧?在这种情况下,我更喜欢第一个。它们中的任何一个有什么缺点/优点吗?
  • @KonradViltersten 不,这不是破解,这是定义设计时数据的正确方法。
  • 第二次建议很有魅力。谢谢 FedericoBerasategui
猜你喜欢
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 2016-08-12
  • 2011-11-03
  • 1970-01-01
相关资源
最近更新 更多