Спрашивающий
WPF не работает Binding для DependencyProperty

Общие обсуждения
-
<Window> <Window.Resources> <ObjectDataProvider x:Key="DataProvider" ObjectType="{x:Type da:MyDataSet}" /> <ObjectDataProvider x:Key="MyData" ObjectInstance="{StaticResource DataProvider}" MethodName="GetData"/> </Window.Resources> <DockPanel Background="Aqua" VerticalAlignment="Stretch"> <DataGrid x:Name="lb" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" HeadersVisibility="None" AutoGenerateColumns="False" CanUserAddRows="False" ItemsSource="{Binding Source={StaticResource ResourceKey=MyData}}"> <DataGrid.Columns> <DataGridTemplateColumn Width="*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Grid HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="250"></ColumnDefinition> <ColumnDefinition Width="*"></ColumnDefinition> </Grid.ColumnDefinitions> <StackPanel Grid.Column="0"> <!-- Данные из MyData --> </StackPanel> <StackPanel Grid.Column="1"> <!-- Тут данные из дочерней таблицы --> <StackPanel.Resources> <ObjectDataProvider x:Key="subData" ObjectInstance="{StaticResource DataProvider}" MethodName="GetSubData"> <ObjectDataProvider.MethodParameters> <da:MyShort Value="{Binding Path=subId}" /> </ObjectDataProvider.MethodParameters> </ObjectDataProvider> </StackPanel.Resources> <TextBlock Text="{Binding Path=subId}"></TextBlock> <Border BorderThickness="1" BorderBrush="Black" Background="CadetBlue"> <DataGrid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" ItemsSource="{Binding Source={StaticResource ResourceKey=subData}}"></DataGrid> </Border> </StackPanel> </Grid> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> </DockPanel> </Window>
public class MyShort : FrameworkElement { public static DependencyProperty MyParametr = DependencyProperty.Register("Value", typeof(Int16), typeof(MyShort), new FrameworkPropertyMetadata(1)); public short Value { get { return (short)GetValue(MyParametr); } set { SetValue(MyParametr, value); } } }
В результате данные из дочерней таблицы отображаются верно, только параметр MyShort имеет значение по умолчанию и не получает данные по привязке! (видно при отладке в методе GetSubData)
В то же время привязка в TextBlock работает корректно и верно отображает данные, то есть в источнике данных проблем нет.
- Изменен тип Abolmasov Dmitry 25 декабря 2012 г. 12:05
6 декабря 2012 г. 12:29
Все ответы
-
7 декабря 2012 г. 11:37
-
Уважаемый пользователь!
В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме
Для связи [mail]
19 декабря 2012 г. 8:28