Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使RibbonCombobox可编辑_.net_Wpf_Xaml - Fatal编程技术网

.net 使RibbonCombobox可编辑

.net 使RibbonCombobox可编辑,.net,wpf,xaml,.net,Wpf,Xaml,在WPF.NET4.5应用程序中,我希望功能区中有几个可编辑的组合框,这样我可以在列表中选择一个值或键入一个自定义值 使用IsEditable=True和IsReadOnly=False的常规组合框效果很好,但在RibbonComboBox上设置这两个属性不起作用:键入值后,当我在控件外单击或按Enter键时,键入的值将替换为列表中先前选定的值。未触发RibbonGallery的SelectionChanged事件。 从下拉列表中进行选择可以正常工作,并正确更新绑定属性 以下是一些相关帖子: 同

在WPF.NET4.5应用程序中,我希望功能区中有几个可编辑的组合框,这样我可以在列表中选择一个值或键入一个自定义值

使用IsEditable=True和IsReadOnly=False的常规组合框效果很好,但在RibbonComboBox上设置这两个属性不起作用:键入值后,当我在控件外单击或按Enter键时,键入的值将替换为列表中先前选定的值。未触发RibbonGallery的SelectionChanged事件。 从下拉列表中进行选择可以正常工作,并正确更新绑定属性

以下是一些相关帖子:

同样的问题没有答案 我尝试了2d答案中的变通方法,但没有成功。即使鼠标不移动,问题也会出现,因此可能与此无关

同样的问题,但解决方案需要创建一个自定义类来覆盖RibbonComboBox的正常行为。我还没有测试过,但是我必须要这样做才能获得我认为的标准行为。

以下是其中一个麻烦的RibbonComboxes的代码Libelle是一个字符串属性,在修改时会引发PropertyChanged事件:

<RibbonComboBox IsEditable="True"
                IsReadOnly="False"
                IsTextSearchEnabled="False">
<RibbonGallery IsTextSearchEnabled="False" 
               SelectedValue="{Binding Libelle}" >
    <RibbonGalleryCategory IsTextSearchEnabled="False">
        <RibbonGalleryCategory.ItemsSource>
            <x:Array Type="sys:String">
                <sys:String>Zero hydro</sys:String>
                <sys:String>Cote marine</sys:String>
                <sys:String>Mouillage</sys:String>
                <sys:String>Profondeur</sys:String>
                <sys:String>Hauteur d'eau</sys:String>
            </x:Array>
        </RibbonGalleryCategory.ItemsSource>
    </RibbonGalleryCategory>
</RibbonGallery>
我对RibbonComboBox元素不是很熟悉,所以我想知道我是否错过了一些明显的东西。

是的,你错过了。。。 这只虫子。。我必须写下来

    private void RibbonGallery_SelectionChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
    {
        Mouse.Capture(null);
    }