좋아, 이건 생각할 필요도없는 줄 알았지 만 분명히 뭔가 잘못하고있는 것 같아. 문제는 확장 WPF 툴킷 DoubleUpDown 컨트롤의 "위로"및 "아래로"버튼을 클릭 할 때 값이 올바르게 업데이트되지 않는다는 것입니다. Up을 클릭하면 컨트롤의 값은 변경되지만 뷰 모델은 업데이트되지 않습니다. 위로부터 아래로 클릭만으로 변경된 경우에만 모델이 업데이트되고 이전 값으로 업데이트됩니다. 재생하려면Extended WPF Toolkit의 DoubleUpDown, 내가 뭘 잘못하고 있니?
, 나는 간단한 뷰 모델과 같이 사용 :
public class ViewModel : INotifyPropertyChanged
{
public ViewModel()
{
MyValue = 0.5;
}
private double _myValue;
public double MyValue
{
get { return _myValue; }
set
{
_myValue = value;
PropertyChanged(this, new PropertyChangedEventArgs("MyValue"));
}
}
public event PropertyChangedEventHandler PropertyChanged = delegate { };
}
그리고 내 MainWindow.xaml는 DoubleUpDown 컨트롤과 레이블이 모두 뷰 모델 년대에 양방향 방식으로 바인딩 아래의 코드처럼 보인다 MyValue 특성 :
public MainWindow()
{
DataContext = new ViewModel();
InitializeComponent();
}
:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
Title="MainWindow" Height="100" Width="200">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<xctk:DoubleUpDown
Value="{Binding MyValue, Mode=TwoWay}"
Increment="0.5"
Minimum="0.0"
Maximum="10"
ValueChanged="DoubleUpDown_ValueChanged"
/>
<Label Grid.Column="1" Content="{Binding MyValue, Mode=TwoWay}"/>
</Grid>
</Window>
그리고 숨김 코드에서, 나는 MainWindow를 생성자에서 DataContext를 설정
는 뷰 모델의 인스턴스가 될
감사합니다, 당신은 도움 다행 :-) –
보호기 삶입니다. :) –