年をリストするリストビューと、年グループを持つ別のリストビューがあります。年グループ リスト ビューは、最初のリストビューの selectchanged で ICollectionView フィルターを使用して設定されます。
グループに新しいレコードを追加したいのですが、年リスト ビューで選択したアイテムの ID が外部キーとして必要です。
XML で 2 つの静的ビューモデル リソースを宣言します。1 つはリスト、もう 1 つは新しい空のグループです。
<local:YearGroupListViewModel x:Key="YearGroupList" />
<local:YearGroupViewModel x:Key="NewYearGroup" />
他のページに新しいレコードを作成するために、新しいビューモデルをパラメーターとして add コマンドに渡すことに成功しました (年の例)。
<Button x:Name="btnSettingsYearsSaveAdd" x:Uid="btnSettingsYearsSaveAdd"
Content="Submit" Margin="0,49,10,0"
Style="{DynamicResource ButtonStyle}"
DataContext="{StaticResource ResourceKey=YearList}"
CommandParameter="{StaticResource ResourceKey=NewYear}"
Command="{Binding Path=AddCommand}" />
これは、外部キーの目的で親リストビューの選択項目 ID に依存していないレコードでうまく機能します。
したがって、この質問で言及されているマルチパラメーターパスをSOで使用しようとしています
私の問題は、パラメーターを 1 つだけ送信する場合と同じように、新しいグループ ビュー モデルをパラメーターとして渡すことができないように見えることです。
これは私が現時点でいる場所です:
XML
<Button x:Name="btnSettingsYearGroupsSaveAdd" x:Uid="btnSettingsYearGroupsSaveAdd"
Content="Submit" Margin="0,49,10,0"
Style="{DynamicResource ButtonStyle}"
DataContext="{StaticResource ResourceKey=YearGroupList}"
Command="{Binding Path=AddCommand}">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource paramConvert}">
<Binding Path="YearGroup"
ElementName="{StaticResource ResourceKey=NewYearGroup}"/>
<Binding Path="SelectedItem"
ElementName="lvwSettingsYears"/>
</MultiBinding>
</Button.CommandParameter>
</Button>
静的リソース キー バインドが機能しません。私は十数種類の派生物を試しましたが、すべて失敗しました。
指示
public void OnExecute(object parameter)
{
var values = (object[])parameter;
YearGroupViewModel newYearGroup = values[0] as YearGroupViewModel;
yearID = (Int32)values[1];
}
誰もこれを以前にやったことがありますか?どうもありがとう