Проблема вашего кода в том, что он никогда не привязывает значение к свойству Example
из TextBlock
, поскольку его содержимое никогда не изменяется.Поэтому, если вы просто хотите связать выбранное значение от DataGrid
до Example
, сделайте следующее.Создать конвертер, который преобразует ClassExample
экземпляр в int
public class TestConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
ClassExample obj = value as ClassExample;
if (obj != null)
{
return obj.X;
}
return 0;
}
}
Добавить конвертер в Window
<Window.Resources>
<your-namespace:TestConverter x:Key="TestConverter" />
</Window.Resources>
Добавить привязку к SelectedItem
в DataGrid
<DataGrid
x:Name="DGExample"
MinWidth="50"
SelectionMode="Single"
FontSize="30"
ItemsSource="{Binding ExampleList, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Example, Mode=OneWayToSource, Converter={StaticResource TestConverter}}">