Wpf 禁用具有相似名称的按钮

Wpf 禁用具有相似名称的按钮,wpf,button,isenabled,Wpf,Button,Isenabled,我有多个名字相似的按钮。主要的相似之处是后缀_min。 如何根据名称的一部分(而不是全名)禁用所有这些功能 btnX_min.IsEnabled = false; btnY_min.IsEnabled = false; btnZ_min.IsEnabled = false; 需要成为: for all buttons with string _min in Name, IsEnabled = false 如何完成?我没有检查,但尝试一下: IEnumerable<Butto

我有多个名字相似的按钮。主要的相似之处是后缀_min。 如何根据名称的一部分(而不是全名)禁用所有这些功能

btnX_min.IsEnabled = false;
btnY_min.IsEnabled = false;
btnZ_min.IsEnabled = false;
需要成为:

for all buttons with string _min in Name, IsEnabled = false

如何完成?

我没有检查,但尝试一下:

      IEnumerable<Button> buttons = mainGrid.Children.OfType<Button>(); //GridMain is the main Layout
        foreach (Button btn in buttons)
        {
            if (btn.Name.Contains("_min"))
            {
                btn.IsEnabled = false;
            }
        }
IEnumerable buttons=mainGrid.Children.OfType();//GridMain是主布局
foreach(按钮中的按钮btn)
{
if(btn.Name.Contains(“\u min”))
{
btn.IsEnabled=false;
}
}

根据所有这些按钮在可视化树中的位置,您可能希望使用VisualTreeHelper类来查找所有按钮。请参阅此处的递归FindVisualChildren方法:

…试试这个:

foreach (Button button in FindVisualChildren<Button>(this).Where(x => !string.IsNullOrEmpty(x.Name) && x.Name.Contains("_btn")))
    button.IsEnabled = false;
foreach(FindVisualChildren(this.Where)(x=>!string.IsNullOrEmpty(x.Name)&&x.Name.Contains(“\u btn”))
button.IsEnabled=false;