1
如何包裝包裝類的集合。我在我的視圖模型是如何將此集合綁定到我的列表框
AsyncVirtualizingCollection<Item> ItemValues{get;set;}
類型:其中,包裝是一個通用型
Wrapper<T>
項目類的屬性。基本上,我想從這個link
項目做一個數據虛擬化是包含三個屬性(標題,重點和IsSelected(實現INotifyPropertyChanged)
我需要綁定的是一個列表框的簡單類(複選框)。我有這個templete和我結合這樣
Templete:
<Style x:Key="CheckBoxStyle" TargetType="{x:Type ListBox}">
<Setter Property="VirtualizingStackPanel.IsVirtualizing" Value="True"/>
<Setter Property="VirtualizingStackPanel.VirtualizationMode" Value="Recycling"/>
<Setter Property="ScrollViewer.IsDeferredScrollingEnabled" Value="True"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBox}">
<Border Background="{x:Null}" BorderThickness="0">
<ScrollViewer x:Name="scrollViewer" VerticalScrollBarVisibility="Visible" Background="{x:Null}">
<ItemsPresenter />
</ScrollViewer>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="Height" Value="23" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Grid Width="auto" x:Name="grid1">
<CheckBox x:Name="checkBox" IsChecked="{Binding IsSelected}" Content="{Binding Caption}"
HorizontalAlignment="Left" HorizontalContentAlignment="Left" VerticalAlignment="Center" VerticalContentAlignment="Center"
Foreground="#FF3F3F3F" Background="{x:Null}"
FontSize="13" FontFamily="Segoe UI Semibold"
ClickMode="Release">
<CheckBox.Style>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="Margin" Value="5,2,0,2" />
</Style>
</CheckBox.Style>
</CheckBox>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Style>
和主列表框是這樣的:
<Grid x:Name="gridMain" Height="auto" Width="auto" Background="White">
<ListBox x:Name="listBox"
ItemsSource="{Binding Path=ItemValues}"
IsSynchronizedWithCurrentItem="True"
Style="{StaticResource CheckBoxStyle}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
VirtualizingStackPanel.IsVirtualizing="True"
Background="{x:Null}"
BorderBrush="Transparent">
</ListBox>
</Grid>
運行時只顯示Checboxes而不顯示Caption。我知道我在這裏做了一些錯誤的約束。
如果我從列表框中刪除樣式它顯示了我的琴絃「.Wrapper`1 [.Item]」
任何建議名單什麼可以在這裏失去了?
我發現,使用這個工程 CONTENT = 「{綁定的RelativeSource = {的RelativeSource TemplatedParent},路徑= Content.Data.Caption}」 謝謝.. Shankar – Shankar