私は3つのコレクションをまとめてバインドしたいMVVMアプリケーションです。ビューでは、TimeBoxesを持つItemsControl(依存関係プロパティTimeを持つTextBoxのみ)があります。モデルでWPF 3つのコレクションを一緒にバインドする
public class Mainwindow
{
//...
var Timeboxes = new ObservableCollection<TimeBox>();
}
の背後にあるコードで
<Window x:Class="Scoreboard.View.MainWindow"
...
<ItemsControl ItemsSource="{Binding TimeBoxes}"/>
...
</Window>
私はタイムコレクションを持っていると思います。
public class GameModel
{
var Times = new ObservableCollection<Time>();
// Don't know if this is how it should be
}
そして私は、ビューのメインウィンドウに似ているouputを持つ別のウィンドウを持っていますが、ItemsControlには国境はなく、タイムボックスを保持しています。それは何をすべき
<Window x:Class="Scoreboard.Display.DisplayWindow"
...
<ItemsControl ItemsSource="{Binding Borders}"/>
...
</Window>
は次のとおりです。Viewのボタン(MainWindow
)上でクリックするとTimeBox
はTimeBoxes
コレクションに作成されます。そのTimeBox
のTime
は、の新しいTime
に、GameModel
に結びついています。また、Time
は、出力(表示)Window
のBorders
に新しいBorder
(これはTimeToStringConverter
があります)のコンテンツ(ラベル)にバインドされています。 GameModel
のTime
が0になると、そのインスタンスはすべてのコレクションから削除されます。私の問題は、コレクション内のアイテムを別のコレクションのアイテムにバインドする方法がわかりません。 ViewModelは単純化のために省略されています。
は私が動的にTimeBox
Time
にしていることをバインドしたい要約すると1でTime
Border
へのコンテンツ:1:1の比率。
ありがとう、これは甘い解決策です。私は拘束力に重点を置いていたので、私は忘れていたことを知らせました:D – Korhak
"知っています、兄";) –