按钮和更改滚动界面中的 WPF 组合框,数据绑定到自定义?喜欢这个上传图片

WPF Combobox in Button and Change Scroll InterFace, Data binding to a custom? like this upload picture

这个模型

public class Media
{
    private List<string> mediaName;

    public List<string> MediaName
    {
        get { return mediaName; }
        set { mediaName = value; }
    }

}

这个xaml代码

<ComboBox x:Name="MediaCombo" ItemsSource="{Binding Media}" SelectionChanged="MediaCombo_SelectionChanged">
  <ComboBox.ItemTemplate>
    <DataTemplate>
     <TextBlock Text="{Binding}" />
    </DataTemplate>
  </ComboBox.ItemTemplate>

我找不到方法,contextmenu..combobox...等。如何

如何制作喜欢的图片? Combobox Image

欢迎来到 SO!

如果这个问题被标记为关闭,请不要感到惊讶,该站点是针对 answers to very specific questions 而不是 "how do I do this?"

不过,要开始使用,您需要对控件进行模板化以替换默认外观。如果将编辑光标放在 XAML 中的 ComboBox 声明上,转到属性页,单击 Miscellaneous->Template 右侧的小框,然后 select "Convert to new resource" 然后 VS 将为您模板控制。 (对于 ComboBox,您可能还需要添加对 PresentationFramework.Aero2 的项目引用)。

创建的控件模板中将包含一个带有 x:Name="DropDownScrollViewer" 的 ScrollViewer,因此在该模板上重复此过程以将该元素模板化到名为 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>

...这将导致:

分页按钮我没有做过,但基本上是一样的思路。在创建的原始 ScrollBarControlTemplate1 中查找 RepeatButton 类型的元素(我删除了)并将它们放在 ScrollViewerControlTemplate1 中而不是包含列表元素的 ScrollContentPresenter 下方他们自己。