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?