Witam,
Stworzyłem aplikację, która losuje terminarz rozgrywek na podstawie wpisanych nazw drużyn (od 2 do 20).
Gdy już wylosujemy gry (np. dla trzech drużyn jest to 6 gier - każdy z każdym i rewanż) tworzę w XAML listę gier do rozegrania:
<ItemsControl Name="gamesItemsControl"
ItemsSource="{Binding}"
IsTapEnabled="False"
IsDoubleTapEnabled="False">
<StackPanel Orientation="Horizontal"
Margin="0,10,0,0">
<TextBlock FontSize="15"
Text="{Binding HomeId, Converter={StaticResource GameTeamIdToTeamNameConverter}}"
Width="100"
TextWrapping="WrapWholeWords"
MaxLines="2"
TextTrimming="CharacterEllipsis"
VerticalAlignment="Center"/>
<TextBox Margin="10,0,0,0"
Text="{Binding GoalsHome, Mode=TwoWay}"
GotFocus="TextBox_GotFocus"
LostFocus="TextBox_LostFocus"
Width="30"
VerticalAlignment="Center"/>
<TextBlock Margin="10,0,0,0"
FontSize="20"
Text=":"
VerticalAlignment="Center"/>
<TextBox Margin="10,0,0,0"
Text="{Binding GoalsAway, Mode=TwoWay}"
GotFocus="TextBox_GotFocus"
LostFocus="TextBox_LostFocus"
Width="30"
VerticalAlignment="Center"/>
<TextBlock FontSize="15"
Text="{Binding AwayId, Converter={StaticResource GameTeamIdToTeamNameConverter}}"
Width="100"
Margin="10,0,0,0"
TextAlignment="Right"
TextWrapping="WrapWholeWords"
MaxLines="2"
TextTrimming="CharacterEllipsis"
VerticalAlignment="Center"
/>
<Button Margin="10,0,0,0" x:Uid="RandomizePlayGameButton"
Content="Go!"
Width="70"
VerticalAlignment="Center"
Command="{Binding PlayGameCommand}"
CommandParameter="{Binding}"
Click="Button_Click"/>
</StackPanel>
</ItemsControl>
ItemsControl jest zbindowane do listy gier, utworzonej po stronie kodu.
Mam klasy Team i Game oraz DataSource, gdzie mam kolekcje teams i games.
I teraz pytanie - robię w tym momencie tak, że binduję każdy textbox Mode=TwoWay z wynikiem (w klasie Game), ale jest to średnie wg mnie rozwiązanie. Bo po przyciśnięciu przycisku, gra zostanie rozegrana, ale jeżeli nie "wyłączę" textboxów to użytkownik dalej będzie mógł zmieniać danę w konkretnej grze (chociaż nie będzie to już wpływało na statystyki drużyn).
W jaki sposób mam zrobić, by po przyciśnięciu Buttona kod sczytywał dane z dwóch textboxów, które są obok i rozgrywał mecz (PlayGameCommand) posiadając te wartości?