ObjectDataProviderを使用し、データコンテキストをバインドします。
わかりやすくするために、以下のサンプルはボタン用です。あなたのボタンコントロールにも同じことをしてください。 「Joe」というテキストを持つウィンドウとボタンが表示されます。
ビューモデル:
public class MyVM
{
public string name { get; set; }
public MyVm(string n) {
name = n;
}
}
ビュー:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:clr="clr-namespace:System;assembly=mscorlib"
xmlns:so="clr-namespace:SO"
Width="300" Height="200"
x:Class="SO.MainWindow"
Title="SO Sample"
>
<Window.Resources>
<ObjectDataProvider x:Key="datasrc" ObjectType="{x:Type so:MyVm}">
<ObjectDataProvider.ConstructorParameters>
<clr:String>Joe</clr:String>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Window.Resources>
<Button DataContext="{Binding Source={StaticResource ResourceKey=datasrc}}" Content="{Binding Path=name}" />
</Window>
出典
2012-02-22 13:57:49
Uri