Измените поле TextBox нажатием кнопки на тот же индекс в представлении списка с привязкой к данным - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть ListView с коллекцией как ItemsSource.

<ListView x:Name="lvBT" Background="{ThemeResource SystemControlPageBackgroundChromeLowBrush}"
        ItemsSource="{x:Bind ViewModel.CurrentPoste.TableauxBT}" Margin="0,0,0,12"
        IsEnabled="{x:Bind ViewModel.CurrentPoste.BtEdition, Mode=TwoWay}"
        SelectionMode="None">
    <ListView.ItemTemplate>
        <DataTemplate x:DataType="local:BT">
            [...]

            <TextBox x:Name="tbNumSerieBT"  HorizontalAlignment="Stretch" Margin="12,32,16,0" Text="{x:Bind NumSerie, Mode=TwoWay}" VerticalAlignment="Top" Grid.Column="3" FontSize="16"  Grid.ColumnSpan="2"/>
            <Button x:Name="bScannerBT"  Grid.Column="5" HorizontalAlignment="Stretch" Margin="12,32,15,0" VerticalAlignment="Top" Content="Scanner tabeau BT" FontSize="14" Click="BScannerBT_Click"/>

            [...]
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

tableauxBT представляет коллекцию BT объектов, и для каждого объекта в этой коллекции я создаюDataTemplate, как базовая привязка данных.

Когда я нажимаю Button в этом шаблоне, я сканирую штрих-код с BarcodeScanner и хочу поместить возвращаемое значение в поле TextBox.

Для каждой кнопки каждого отдельного элемента BT я хочу отсканировать различный штрих-код, но проблема в том, что я не знаю, как получить индекс Button, который был нажат, чтобы поместить значение вправо TextBox.

Так, как я могу сделать, чтобы получить индекс нажатого Button, чтобы поместить значение в TextBox в тот же индекс?

1 Ответ

0 голосов
/ 15 апреля 2019

Вы можете получить индекс нажатой кнопки, используя метод "BScannerBT_Click".

public BScannerBT_Click(object sender, EventArgs e) 
{
  var myClickedButton = (Button)sender; //this object hold all information you need.
  //You can reach the button's dataContext and change the value you want to.
  var buttonDataContext = myClickedButton.DataContext.
  //now you have the ViewModel (buttonDataContext) associated with the  'NumSerie'
}

Надеюсь, он вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...