WPF组合框中的按钮和更改滚动界面,数据绑定到自定义?喜欢这个上传图片吗
这个模型WPF组合框中的按钮和更改滚动界面,数据绑定到自定义?喜欢这个上传图片吗,wpf,user-interface,combobox,contextmenu,customizing,Wpf,User Interface,Combobox,Contextmenu,Customizing,这个模型 public class Media { private List<string> mediaName; public List<string> MediaName { get { return mediaName; } set { mediaName = value; } } } 公共类媒体 { 私有列表媒体名称; 公共列表媒体名 { 获取{return mediaName;} 设置{med
public class Media
{
private List<string> mediaName;
public List<string> MediaName
{
get { return mediaName; }
set { mediaName = value; }
}
}
公共类媒体
{
私有列表媒体名称;
公共列表媒体名
{
获取{return mediaName;}
设置{mediaName=value;}
}
}
这是xaml代码
<ComboBox x:Name="MediaCombo" ItemsSource="{Binding Media}" SelectionChanged="MediaCombo_SelectionChanged">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ComboBox.ItemTemplate>
我找不到路,上下文菜单。。组合框。。。等我该怎么做
如何制作喜欢的图片?
欢迎来到SO
不要惊讶,如果这个问题被标记为关闭,这个网站是为而不是“我该怎么做?”
不过,要开始,您需要为控件设置模板以替换默认外观。如果将编辑光标放在XAML中的ComboBox声明上,转到属性页,单击Miscellaneous->Template右侧的小框,然后选择“Convert to new resource”,VS将为您模板化控件。(对于ComboBox,您可能还需要添加对PresentationFramework.Aero2的项目引用)
创建的控件模板中有一个ScrollViewer,其中包含x:Name=“DropDownScrollViewer”
,因此在该模板上重复此过程,以将该元素模板化为名为ScrollViewerControlTemplate1
的新模板。这将有一个用于实际垂直滚动条的控件,带有x:Name=“PART\u VerticalScrollBar”
,因此再次重复此操作以获得名为ScrollBarControlTemplate1
的最终控件模板。这是您要更改其外观的滚动条,因此您可以简单地覆盖滚动条的内容以获得您想要的效果,例如:
<ControlTemplate x:Key="ScrollBarControlTemplate1" TargetType="{x:Type ScrollBar}">
<Border BorderBrush="{DynamicResource VS.Environment.ScrollBarBorderBrush}" Uid="Border_3" Padding="5">
<Grid Uid="Grid_1">
<Border BorderThickness="1" BorderBrush="Gray" CornerRadius="5"/>
<Track x:Name="PART_Track" IsDirectionReversed="True" Uid="PART_Track">
<Track.Thumb>
<Thumb Uid="Thumb_1">
<Thumb.Template>
<ControlTemplate>
<Border Background="Gray" CornerRadius="5"/>
</ControlTemplate>
</Thumb.Template>
</Thumb>
</Track.Thumb>
</Track>
</Grid>
</Border>
</ControlTemplate>
…这将导致:
我没有做分页按钮,但基本上是相同的想法。在创建的原始
ScrollBarControlTemplate1
中查找类型为RepeatButton
的元素(我已删除)然后将它们放在ScrollViewerControlTemplate1
中,而不是放在ScrollContentPresenter
下面,后者包含列表元素本身。如何应用TemplateV将自动为您完成,但只需设置模板属性即可,即template=“{StaticResource theResourceTemplateKey}”
。完成了!。非常感谢。但是你怎么能创造出一种像图像一样的风格呢?你知道图像采集网站吗?Uid、IsDirection Reversed、Thumb等。我以前从未见过他们。对不起,我不确定我是否明白你的意思。所有这些都是轨迹
控件的依赖属性。您可以创建自己的自定义用户控件
,并且可以像任何其他控件一样为它们提供自己的依赖项属性。几乎所有你需要的东西都在MSDN网站上(包括),当然还有很多。