Я пишу следующий код для связывания некоторых свойствпривязка DataTemplate не работает?
<StackPanel x:Name="channelsRecordTimeData" Orientation="Vertical">
<ItemsControl x:Name="channelRecordTimeItems" ItemsSource="{Binding}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid x:Name="gridChannelRecordTimeItem" Width="{Binding Path=ChannelRecordTimeItemWidth}"
Height="{Binding Path=ChannelRecordTimeItemHeight}" Margin="{Binding Path=ChannelRecordTimeItemsMargin}"
HorizontalAlignment="Left" DataContext="{Binding Path=ListRecordTime}">
<Grid.Background>
<ImageBrush x:Name="gridChannelRecordTimeItemBgr" ImageSource="..\Resources\playback_grid_channel_record_time_item_bgr_normal.png"/>
</Grid.Background>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
public class DATA
{
public double ChannelRecordTimeItemWidth { set; get; }
public double ChannelRecordTimeItemHeight { set; get; }
public Thickness ChannelRecordTimeItemsMargin { set; get; }
public List<RecordTime> ListRecordTime { set; get; }
public DATA()
{
ChannelRecordTimeItemWidth = 1000;
ChannelRecordTimeItemHeight = 20;
ChannelRecordTimeItemsMargin = new System.Windows.Thickness(0, 0, 0, 0);
ListRecordTime = null;
}
}
public static List<DATA> listDATA = new List<DATA>();
for(int i = 0 ; i < 10 ; i++)
{
DATA data = new DATA();
listDATA.Add(data);
}
channelRecordTimeItems.ItemsSource = listDATA;
channelRecordTimeItems.Items.Refresh();
Нагревание выше кода, я добавил 10 пунктов в StackPanel, но я не вижу каких-либо элементы, добавленные при запуске приложения. Но когда я заменяю Width="{Binding Path=ChannelRecordTimeItemWidth}"
на Width="1000"
и заменяю Height="{Binding Path=ChannelRecordTimeItemHeight}"
на Height="20"
, тогда он отлично работает!
Я думаю, это проблема привязки, но я не знаю почему.
Кто-то может сказать мне, как заставить его работать?
Большое спасибо,
T & T
Это очень круто для решения моей проблемы и показать мне, как использовать интерфейс INotifyPropertyChanged. Большое спасибо! – TTGroup
Еще одна проблема, которую я поднял http://stackoverflow.com/questions/20515233/how-to-notify-xaml-properties-when-list-data-of-binding-changed Не могли бы вы ее увидеть? Спасибо! – TTGroup