WPF xaml MVVM动态绑定实现
1.在xaml的后台代码中进行设置,如下
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
2.在xaml代码中进行相应的配置,只是配置时针对window与page有些差别。
window中如下:
<Window x:Class="WpfMvvm.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:viewmodels="clr-namespace:WpfMvvm.ViewModels" d:DataContext="{d:DesignInstance Type=viewmodels:MainWindowViewModel}"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.DataContext>
<viewmodels:MainWindowViewModel/>
</Window.DataContext>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBox Name="tb1" Grid.Row="0" Background="AliceBlue" FontSize="24" Margin="4" Text="{Binding Input1}"/>
<TextBox Name="tb2" Grid.Row="1" Background="AliceBlue" FontSize="24" Margin="4" Text="{Binding Input2}"/>
<TextBox Name="tb3" Grid.Row="2" Background="AliceBlue" FontSize="24" Margin="4" Text="{Binding Result}"/>
<Button Name="addButton" Grid.Row="3" Content="Add" Width="120" Height="80" Command="{Binding AddCommand}"/>
<Button Grid.Row="4" Content="test" Command="{Binding AddCommand}"/>
</Grid>
</Window>
page中如下
<Page.DataContext>
<viewmodel:LoginViewModel />
</Page.DataContext>
*****有道无术,术尚可求;有术无道,止于术。*****

浙公网安备 33010602011771号