我正在尝试进行自定义,DataTemplateSelector
但会引发以下错误:覆盖“公共”继承的成员时无法更改访问修饰符
public class NotesTemplateSelector : DataTemplateSelector
{
public DataTemplate GripElectricTemplate { get; set; }
public DataTemplate CameraTemplate { get; set; }
protected override DataTemplate SelectTemplate(object item, DependencyObject container)
{
var ListItem = item as NoteHeaders;
if (ListItem.NoteHeader == "Grip and Electric")
{
return GripElectricTemplate;
}
else if (ListItem.NoteHeader == "Camera")
{
return CameraTemplate;
}
return null;
}
}
我认为xaml
<Grid.Resources>
<local:NotesTemplateSelector x:Key="NotesTemplateSelector"/>
<DataTemplate x:Key="GripElectricTemplate">
<StackPanel>
<Expander Header="Grip and Electric">
<TextBox AcceptsReturn="True" HorizontalAlignment="Left" Height="85" Margin="10,5,0,0" TextWrapping="Wrap" Text="{Binding SceneCollectionView/GripElectric, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="278"/>
</Expander>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="CameraTemplate">
<StackPanel>
<Expander Header="Grip and Electric">
<TextBox AcceptsReturn="True" HorizontalAlignment="Left" Height="85" Margin="10,5,0,0" TextWrapping="Wrap" Text="{Binding SceneCollectionView/Camera, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" VerticalAlignment="Top" Width="278"/>
</Expander>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<ListBox Background="#FF646464" ItemsSource="{Binding ElementName=This}" ItemTemplateSelector="{StaticResource ResourceKey=NotesTemplateSelector}" dd:DragDrop.IsDragSource="True" dd:DragDrop.IsDropTarget="True">
</ListBox>
似乎SelectTemplate有问题,并且似乎禁用了我从mvvm light使用的ViewModelLocator。如何解决此问题?
public virtual DataTemplate SelectTemplate(Object item, DependencyObject container)
对公众进行更改保护,您应该很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句