1
我正在玩MVVM Light以整合到VB.NET项目中。我已经设置了一个小例子,但它不起作用。的结合似乎只去一个方向的视图模型,但没有通知在视图到达:MVVM Light和VB.NET的数据绑定
<Application x:Class="Application"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:mvvmlight2"
StartupUri="MainWindow.xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
d1p1:Ignorable="d"
xmlns:d1p1="http://schemas.openxmlformats.org/markup-compatibility/2006">
<Application.Resources>
<vm:ViewModelLocator x:Key="Locator" d:IsDataSource="True" xmlns:vm="clr-namespace:mvvmlight2.mvvmlight2.ViewModel" />
</Application.Resources>
</Application>
模型径直向前
Namespace mvvmlight2.ViewModel
Public Class MainViewModel
Inherits ViewModelBase
Public Property Size As Integer
....
定位器
Namespace mvvmlight2.ViewModel
Public Class ViewModelLocator
Public Sub New()
ServiceLocator.SetLocatorProvider(Function() SimpleIoc.[Default])
SimpleIoc.Default.Register(Of MainViewModel)()
End Sub
Public ReadOnly Property Main As MainViewModel
Get
Return ServiceLocator.Current.GetInstance(Of MainViewModel)
End Get
End Property
End Class
End Namespace
视图
DataContext="{Binding Path=Main, Source={StaticResource Locator}}"
...
<Label Content="{Binding Size}" />
<Slider Value="{Binding Path=Size}" />
滑块更改模型中的值,如我在调试器中看到的。但标签内容不会改变。
我该怎么办?
TIA
是否调用了OnPropertyChange的大小?顺便说MS说“避免数据绑定到Label.Content属性”https://msdn.microsoft.com/en-us/library/bb613560%28v=vs.100%29.aspx使用textblock代替 – adminSoftDK