【发布时间】:2016-03-22 07:55:13
【问题描述】:
我正在尝试通过 CodeBehind(xaml.cs) 和 ViewModel Binding 设置 TextBlock 的 Text 属性。
默认情况下,值是从工作正常的 ViewModel 加载的。
XAML:
<TextBlock Name="test">
<TextBlock.Text>
<MultiBinding StringFormat=" ({0}, {1} of {2})">
<Binding Path="SeriesId" />
<Binding Path="SeriesName" />
<Binding Path="SeriesCalc" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
XAML.cs
在按钮点击事件中尝试了以下,
test.DataContext = "Not Available";
或者
test.Text = "Not Available";
视图模型:
在另一个按钮Command 中,我正在尝试将值分配给TextBlock。
SeriesId= GetIds();
SeriesName= GetNamesWithDE();
SeriesCalc= CalculateValue();
但是一旦“Not Available”从后面的代码中设置,它就不能被ViewModel覆盖。
我哪里错了?
【问题讨论】:
-
你没有错。但是,如果您将数据上下文设置为远离您的视图模型-您将无法再更新 Textblock...顺便说一句,您到底为什么要这样做??
-
在 XAML 中,您正在设置与
Text属性的绑定。在您背后的代码中,您正在重置您的Text属性。因此,您的绑定失败了。