я новичок в wpf и пытаюсь привязать свойство Items.Count статического определенного DataGrid к метке моего пользовательского элемента управления.
Моя текущая реализация выглядит следующим образом. Но этикетка остается пустой: I
Класс, в котором определена DataGrid:
public class BindingNavigator : Control
{
private static DataGrid dataGrid;
static BindingNavigator()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(BindingNavigator), new FrameworkPropertyMetadata(typeof(BindingNavigator)));
}
public DataGrid DataGrid
{
set { dataGrid = value; }
get { return dataGrid; }
}
}
XAML пользовательского элемента управления, где Items.Count должен отображаться в метке
<Style TargetType="{x:Type local:BindingNavigator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:BindingNavigator}">
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Grid MinWidth="210" MinHeight="50">
<Label Width="30" Height="30" Content="{Binding ElementName=DataGrid, Path=Items.Count}" />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
XAML, где я развернул свой пользовательский элемент управления
<DataGrid Name="dataGrid1" VerticalAlignment="Top" Width="210">
<DataGrid.Columns>
<DataGridTextColumn Header="header" />
</DataGrid.Columns>
</DataGrid>
<my:BindingNavigator Name="bindingNavigator1" />
</Grid>
Код позади EventHandler, где я заполняю сетку и устанавливаю свойство DataGrid пользовательского элемента управления
private void Window_Loaded(object sender, RoutedEventArgs e)
{
dataGrid1.Items.Add("1");
dataGrid1.Items.Add("2");
bindingNavigator1.DataGrid = dataGrid1;
}
Почему я не могу привязать свойство Items.Count к метке?