【发布时间】:2013-08-16 22:40:19
【问题描述】:
我必须关注ProgressIndicator
<MahAppsControls:ProgressIndicator Width="100"
Height="10"
VerticalAlignment="Center"
ProgressColour="White"
Visibility="{Binding ProgressVisibility}"/>
在与此视图相关的 ViewModel 中,我实现了
private Visibility progressVisibility = Visibility.Collapsed;
public Visibility ProgressVisibility
{
get { return progressVisibility; }
set
{
if (value == progressVisibility)
return;
progressVisibility = value;
this.OnPropertyChanged("ProgressVisibility");
}
}
问题是这个绑定失败了,我不知道为什么。使用 Snoop 我有以下内容
System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“ProgressIndicator”(名称=“progressIndicator”)上找不到“ProgressVisibility”属性。 BindingExpression:Path=ProgressVisibility; DataItem='ProgressIndicator' (Name='progressIndicator');
目标元素是'ProgressIndicator'(名称='progressIndicator');目标属性是“可见性”(类型“可见性”) System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“ProgressIndicator”(名称=“progressIndicator”)上找不到“ProgressVisibility”属性。 BindingExpression:Path=ProgressVisibility; DataItem='ProgressIndicator'(名称='progressIndicator');
目标元素是'ProgressIndicator'(名称='progressIndicator');目标属性是“可见性”(类型“可见性”) System.Windows.Data 错误:40:BindingExpression 路径错误:在“对象”“ProgressIndicator”(名称=“progressIndicator”)上找不到“ProgressVisibility”属性。 BindingExpression:Path=ProgressVisibility; DataItem='ProgressIndicator'(名称='progressIndicator');
目标元素是'ProgressIndicator'(名称='progressIndicator');目标属性是“可见性”(类型“可见性”)
我感谢存在绑定错误,但我正在通过
在 App.xaml.cs 中设置主窗口的DataContext
MainWindow window = new MainWindow();
MainWindowViewModel mainWindowViewModel = new MainWindowViewModel();
// When the ViewModel asks to be closed, close the window.
EventHandler handler = null;
handler = delegate
{
mainWindowViewModel.RequestClose -= handler;
window.Close();
};
mainWindowViewModel.RequestClose += handler;
// Allow all controls in the window to bind to the ViewModel by setting the
// DataContext, which propagates down the element tree.
window.DataContext = mainWindowViewModel;
window.Show();
那么,为什么绑定失败了?
感谢您的宝贵时间。
【问题讨论】:
-
这很糟糕 - 你没有做错任何事情,这是 MahApps 构建方式中的一个“错误”:(
标签: c# wpf binding mahapps.metro