即時通訊新的wpf,並嘗試將靜態定義的DataGrid的Items.Count屬性綁定到我的自定義控件的標籤。WPF - 綁定Datagrid Items.Count到自定義控件標籤
我目前的實現看起來像這樣。但標籤保持爲空:我
在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; }
}
}
應該顯示在標籤
<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>
的Items.Count的的CustomControl的XAML
我部署自定義控件的XAML
<DataGrid Name="dataGrid1" VerticalAlignment="Top" Width="210">
<DataGrid.Columns>
<DataGridTextColumn Header="header" />
</DataGrid.Columns>
</DataGrid>
<my:BindingNavigator Name="bindingNavigator1" />
</Grid>
背後的事件處理代碼,我填寫的電網和設置的自定義控制
private void Window_Loaded(object sender, RoutedEventArgs e)
{
dataGrid1.Items.Add("1");
dataGrid1.Items.Add("2");
bindingNavigator1.DataGrid = dataGrid1;
}
DataGrid的財產,爲什麼我不能在Items.Count屬性綁定標籤?
感謝您的回覆格雷格桑塞姆, 但DataGrid實例MainWindow XAML在自定義控件XAML中不是已知的。這就是爲什麼我嘗試將其綁定到自定義控件中的屬性。 – 2010-11-12 08:45:48
Sry Greg,我明白了! 你說得對。謝謝你的幫助。 – 2010-11-12 09:38:17
這是我的朋友......非常有用!我想'ElementName'和'Path'我可以訪問所有屬性。真的很好! – C4u 2016-10-07 08:51:37