wpf - 按钮和更改滚动界面中的WPF组合框,数据绑定到自定义?喜欢这张上传图片
问题描述
此型号
public class Media
{
private List<string> mediaName;
public List<string> MediaName
{
get { return mediaName; }
set { mediaName = value; }
}
}
这个xml代码
<ComboBox x:Name="MediaCombo" ItemsSource="{Binding Media}" SelectionChanged="MediaCombo_SelectionChanged">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" />
</DataTemplate>
</ComboBox.ItemTemplate>
我找不到方法,上下文菜单..组合框...等等。我怎么做
如何制作喜欢的图片? 组合框图像
解决方案
欢迎来到 SO!
如果这个问题被标记为关闭,请不要感到惊讶,这个网站是为了回答非常具体的问题,而不是“我该怎么做?”
不过,为了让您开始,您需要对控件进行模板化以替换默认外观。如果您将编辑光标放在 XAML 中的 ComboBox 声明上,请转到属性页面,单击 Miscellaneous->Template 右侧的小框,然后选择“转换为新资源”,然后 VS 将为您模板化控件。(在 ComboBox 的情况下,您可能还需要添加对 PresentationFramework.Aero2 的项目引用)。
创建的控件模板将在其中包含一个 ScrollViewer x:Name="DropDownScrollViewer"
,因此重复此过程以将该元素模板化到一个名为 的新模板ScrollViewerControlTemplate1
中。这将有一个用于实际垂直滚动条的控件x:Name="PART_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>
...这将导致:
分页按钮我没做过,但基本思路是一样的。RepeatButton
在创建的原始元素中查找类型元素ScrollBarControlTemplate1
(我已将其删除)并将它们放在包含列表元素本身的ScrollViewerControlTemplate1
下方。ScrollContentPresenter
推荐阅读
- c# - 代码在 .Net 5 中有效,但在 .Net 6 中无效
- python-3.x - Python-pptx 库标准幻灯片
- firebase - Firebase Web SDK 对所有 httpsCallable 请求使用自定义域
- c# - 将表单名称传递给用户控件
- ruby-on-rails - Rails 6 将哈希合并到 ActiveRecord 对象
- flutter - 如何获取任意定位的矩形,并将其在视图中居中,并仅使用 Canvas 变换操作对其进行缩放?
- reactjs - 如何在本机反应中的当前对话框之后显示对话框
- windows - % 和 有什么区别!!在批处理文件中?
- python - 如何搜索具有多个键的字典列表?
- python-3.x - ModuleNotFoundError:没有名为“numpy.core._multiarray_umath”的模块