带有PART_Editor的WPF ComboBox作为Itemssource的项目

时间:2014-12-15 13:25:11

标签: c# wpf combobox tags wrapping

我试图在WPF中实现令牌(Tag)控件。 控件本身正在工作,但是我需要将ComboBox的PART_Editor包装在列表框的最后一项之后。在溢出时,项目将换行换行。

我的代码如下:

<ControlTemplate x:Key="EditTemplate">

        <!-- EditElementMinWidth ist die Mindestbreite des Eingabebereiches für weitere Tags -->
        <WrapPanel>
            <ListBox Style="{StaticResource WrapTagPanelListBoxStyle}"
                     ItemsSource="{Binding Path=TaggedItems,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}"
                     SelectedItem="{Binding Path=SelectedItem,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                     ItemContainerStyle="{StaticResource WrapTagPanelItemContainerStyle}"
                     ItemTemplate="{StaticResource TagTemplate}"
                     ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel IsItemsHost="True" Orientation="Horizontal" />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
            </ListBox>

            <TextBox Name="PART_Editor" Style="{DynamicResource {themes:TextEditThemeKey ResourceKey=TextStyle}}" TextWrapping="Wrap"
                     GotFocus="UIElement_OnGotFocus" helpers:EditorMarginHelper.Margin="2,2,2,2,0,2,2,2" VerticalAlignment="Center" HorizontalAlignment="Stretch" />
        </WrapPanel>
    </ControlTemplate>

EditTemplate是DevExpress ComboBox-Control的EditValue的模板。

如何解决我的问题?

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个有效的解决方案。我使用CompositeCollection将ListBox的ItemsSource与PART_Editor合并。

编辑: