有没有办法 select copy/paste 的 COMBOBOX 的内容?
Is there a way to select the contents of COMBOBOX for copy/paste?
问题: 所以我的应用程序有 2 个选项,加载和更新。当我想更新的时候,我也想复制内容(比如Name/UID),但是我不能。在更新过程中,我设置了“isEnabled=False”(通过将其绑定到一个变量),它不会让我复制内容。
我尝试执行“isReadOnly=True”(删除“isEnabled”属性),它允许我复制,但 DropDown 仍在工作,这将允许我或任何人更改某些值, (如性别、UID)在更新期间更改。
目标:我希望能够复制组合框的内容但不让任何人更改其值。
或
有没有办法禁用下拉功能,这样“isReadOnly=True”就可以了。
如果 isReadOnly=True
正在执行您想要的操作,那么我将只使用一个转换器来禁用下拉菜单。
在MainWindow.xaml
中:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1">
<Window.Resources>
<local:CBMaxDropDownHeightConverter x:Key="CBMaxDropDownHeightConverter" />
</Window.Resources>
<Grid>
<ComboBox MaxDropDownHeight="{Binding RelativeSource={RelativeSource Self}, Path=IsReadOnly, Converter={StaticResource CBMaxDropDownHeightConverter}}" />
</Grid>
</Window>
然后在CBMaxDropDownHeightConverter.cs
using System;
using System.Windows.Data;
namespace WpfApp1
{
public class CBMaxDropDownHeightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (System.Convert.ToBoolean(value) == true)
{
return "0";
}
return "Auto";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
}
问题: 所以我的应用程序有 2 个选项,加载和更新。当我想更新的时候,我也想复制内容(比如Name/UID),但是我不能。在更新过程中,我设置了“isEnabled=False”(通过将其绑定到一个变量),它不会让我复制内容。
我尝试执行“isReadOnly=True”(删除“isEnabled”属性),它允许我复制,但 DropDown 仍在工作,这将允许我或任何人更改某些值, (如性别、UID)在更新期间更改。
目标:我希望能够复制组合框的内容但不让任何人更改其值。
或
有没有办法禁用下拉功能,这样“isReadOnly=True”就可以了。
如果 isReadOnly=True
正在执行您想要的操作,那么我将只使用一个转换器来禁用下拉菜单。
在MainWindow.xaml
中:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApp1">
<Window.Resources>
<local:CBMaxDropDownHeightConverter x:Key="CBMaxDropDownHeightConverter" />
</Window.Resources>
<Grid>
<ComboBox MaxDropDownHeight="{Binding RelativeSource={RelativeSource Self}, Path=IsReadOnly, Converter={StaticResource CBMaxDropDownHeightConverter}}" />
</Grid>
</Window>
然后在CBMaxDropDownHeightConverter.cs
using System;
using System.Windows.Data;
namespace WpfApp1
{
public class CBMaxDropDownHeightConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (System.Convert.ToBoolean(value) == true)
{
return "0";
}
return "Auto";
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotSupportedException();
}
}
}