私はこのスタイルを持っています:
<DataTemplate>
<Button
Width="44"
Height="24"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
HorizontalAlignment="Left"
HorizontalContentAlignment="Center"
Command="{Binding UninspectedPrintSelectedCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Content}">
しかし、コマンドは正しく機能しません。出力ウィンドウを見ると、次の問題が発生します。
System.Windows.Data Error: 40 : BindingExpression path error: 'UninspectedPrintSelectedCommand' property not found on 'object' ''String' (HashCode=701007577)'. BindingExpression:Path=UninspectedPrintSelectedCommand; DataItem='String' (HashCode=701007577); target element is 'Button' (Name=''); target property is 'Command' (type 'ICommand')
ViewModel ICommand プロパティ:
public ICommand UninspectedPrintSelectedCommand
{
get
{
return new DelegateCommand<object>((print) =>
{
string printName = print.ToString();
int indexOfX = printName.IndexOf('x');
Row = DiePrint.GetRow(printName);
Col = DiePrint.GetCol(printName);
if (diePrint == null) { diePrint = new DiePrint(Row + "x" + Col); }
else
{
diePrint.Row = Convert.ToInt32(row);
diePrint.Col = Convert.ToInt32(col);
}
LoadMap();
});
}
}
これを解決する方法がわかりません。Button の Command プロパティはどのように文字列として解釈されますか?
何か意味があるとすれば、これはメイン ウィンドウではなく、App.xaml ファイルにあります。