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网站上(包括),当然还有很多。