0
나는 나의 LongListSelector에 대한 DataTemplate을 설정합니다DataTemplate을 복원하는 방법?
<ctl:LongListSelector Loaded="listbox_Loaded" Name="listbox" SelectionChanged="listbox_selectionChanged">
<ctl:LongListSelector.ItemTemplate>
<DataTemplate>
<Border Background="Gray" MouseLeftButtonDown="listbox_itemClicked">
<TextBlock Text="{Binding}" TextWrapping="Wrap" Width="350"/>
</Border>
</DataTemplate>
</ctl:LongListSelector.ItemTemplate>
</ctl:LongListSelector>
내가 코드에서 일부 항목의보기를 변경할 일부 작업 후를 이제 위의 설명이 DataTemplate을을 복원해야합니다. 코드에서이를 수행하는 방법?
일부 처리기가 있습니다. 첫 번째 값은 TextBlock에서 값을 가져오고 두 번째 값은 선택한 항목을 빨간색으로 바꿉니다. 다른 항목을 선택하면 이전 회색 색상으로 되돌려 야합니다. DataTemplate 복원 시도가 작동하지 않는 것 같습니다.
private void listbox_selectionChanged(object sender, SelectionChangedEventArgs e)
{
var lb = (LongListSelector)sender;
var lbi = lb.SelectedItem.ToString();
lb.ItemTemplate = Resources["ItemTemplateLongListSelector"] as DataTemplate;
var categoryCode = CategoryCodes.ElementAt(CategoryNames.IndexOf(lbi));
addedItem.Category = categoryCode;
}
private void listbox_itemClicked(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
var border = (Border)sender;
var borderBrush = new SolidColorBrush();
borderBrush.Color = Color.FromArgb(255, 255, 0, 0);
border.Background = borderBrush;
}
감사합니다! 당신이 다음을 수행 할 수 있습니다 뒤에
<phone:LongListSelector Loaded="listbox_Loaded"
Name="LongListSelector"
SelectionChanged="listbox_selectionChanged"
ItemTemplate="{StaticResource ItemTemplateLongListSelector}" />
코드 표준 DataTemplate을 설정하려면 : ItemTemplate을에
<phone:PhoneApplicationPage.Resources>
<DataTemplate x:Key="ItemTemplateLongListSelector">
<Border Background="Gray"
MouseLeftButtonDown="listbox_itemClicked">
<TextBlock Text="{Binding}"
TextWrapping="Wrap"
Width="350" />
</Border>
</DataTemplate>
</phone:PhoneApplicationPage.Resources>
바인딩 DataTemplate을 :
standart DataTemplate을이 방법으로 재설정하면 ItemsSource가 삭제됩니다. 모든 LongListSelector가 사라진 것처럼 보입니다. – splash27
@ splash27 답변에 몇 가지 추가 정보가 추가되었습니다. – ROMAN
도움을 주셔서 감사합니다. 그러나 두 번째 방법을 사용하면 아무 것도 나타나지 않습니다. 원래보기가 복원되지 않습니다. 또한 내 질문에 몇 가지 추가 정보를 추가했습니다. – splash27