【发布时间】:2014-06-14 21:00:44
【问题描述】:
在模型中有这个:
namespace PlanszaGlowna.Model
{
public class PlanszaGlowna
{
public bool CzyWidoczny { get; set; }
在 ViewModel 中有这个
namespace PlanszaGlowna.WidokModelu
{
public class PlanszaGlowna : ViewModelBase
{
private Model.PlanszaGlowna m_PlanszaGlowna;
public bool CzyWidoczny
{
get { return m_PlanszaGlowna.CzyWidoczny; }
set
{
m_PlanszaGlowna.CzyWidoczny = value;
RaisePropertyChanged(() => CzyWidoczny);
}
}
还有那个绑定:
<UserControl x:Class="PlanszaGlowna.Widok.PlanszaGlowna"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
Visibility="{Binding Path=CzyWidoczny, Converter={StaticResource Bool2VisibilityKonwerter}, Mode=TwoWay}"
当我在 ViewModel 中为 CzyWidoczny 设置新值时,UI 不会更新。我正在使用 MVVM Light。
【问题讨论】:
-
我可能会因为非英文属性名称而遗漏一些东西,但是您在哪里设置数据上下文?
-
@user3714853 你如何以及在哪里设置
DataContext?改变初始值有影响吗? -
我在父视图中设置数据上下文:
在第一次设置 CzyWidoczny 属性时,视图获取值,但在另一组中却没有。 -
在黑暗中拍摄,但在您的
PlanszaGlowna.Widok.PlanszaGlownaUserControl中,您会执行DataContext = this;之类的操作或以其他方式设置吗? -
我认为 DataContext 没问题,因为其他属性显示正确。当我在 ViewModel 中更改 CzyWidoczny 属性时,他输入了 setter 并更改了模型中的属性,但在 RaisePropertyChanged 之后他们没有进入 getter。
标签: c# wpf mvvm mvvm-light