【发布时间】:2019-06-11 21:38:27
【问题描述】:
我正在尝试制作一个类似控件的“代码编辑器”。我想要已知变量和运算符的自动完成。 RadAutoCompleteBox 几乎完全符合我的需要,它只是从列表中删除选定的项目,因此我只能使用每个变量或运算符一次。我可以禁用此功能吗?
如前所述,我使用了 SelectionMode="Multiple" 中的 RadAutoCompleteBox 和一个包含所有已知变量和运算符列表的 ItemSource。我只是找不到启用多选的选项。
XAML:
<telerik:GridViewDataColumn.CellEditTemplate>
<DataTemplate>
<telerik:RadAutoCompleteBox SelectedItem="{Binding RecipeCondition, Mode=TwoWay}" ItemsSource="{Binding DataContext.ConditionWordList, RelativeSource={RelativeSource AncestorType=telerik:RadGridView}}" SelectionMode="Multiple" AutoCompleteMode="SuggestAppend" TextSearchMode="Contains">
</telerik:GridViewDataColumn.CellEditTemplate>
视图模型:
private void initFakeData()
{
string[] operators = { " AND ", " OR ", " NOT ", " + " , " - ", " * ", " / ", "=", "!=", ">", "<", ">=", "<=" };
string[] vars = { "{VAR_1}", "{VAR_2}", "{OTHER_VAR}", "{sumDamnVar}", "{121asdf}", "{121onji}", "{12123}"};
foreach(string oupii in operators)
{
ConditionWordList.Add(oupii);
}
foreach (string variable in vars)
{
ConditionWordList.Add(variable);
}
}
public ObservableCollection<EventWrapper> EventMappingList { get; set; } = new ObservableCollection<EventWrapper>();
public ObservableCollection<string> ConditionWordList{ get; set; } = new ObservableCollection<string>();
我希望即使在我输入“{VAR_1} AND {VAR_2}”之后,结果仍然会建议使用“AND”运算符
【问题讨论】:
标签: c# xaml autocomplete telerik