代码之家  ›  专栏  ›  技术社区  ›  Reinis Nudiens

如何根据进入列表框的对象更改列表框的文本框?

  •  0
  • Reinis Nudiens  · 技术社区  · 7 年前

    我是新来的,我用绑定到列表框的ObservableCollection构建了这个小的uwp应用程序,我想知道如何在列表框内更改Textbox的透明度。确切地说,我有ObservableCollection,它由对象组成,这个对象的一个属性是布尔值。“UsersWithIndications.CheckedInOrOut”=布尔值。我想这样做,如果这个布尔值为真,这个单一用户的文本框变成绿色,如果它为假=红色…你能告诉我解决这个问题的方向吗?如何访问此列表框中的每个文本框?如果需要更多代码,请告诉我!

    Xaml code for the page

    应用程序已启动,列表框

    App Launched, Listbox

    1 回复  |  直到 7 年前
        1
  •  0
  •   Vijay Nirmal    7 年前

    方法1:

    使用转换器

    public class MyConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, string language)
        {
            if ((string)value == "true")
                return new SolidColorBrush(Colors.Green);
            else
                return new SolidColorBrush(Colors.Red);
        }
    
        public object ConvertBack(object value, Type targetType, object parameter, string language)
        {
            throw new NotImplementedException();
        }
    }
    

    下面是代码数据绑定

    <Page.Resources>
        <local:MyConverter x:Key="MyConverter"/>
    </Page.Resources>
    
    <TextBlock Name="MyOutput" Text="true" Foreground="{Binding Path=Text, Converter={StaticResource MyConverter}, ElementName=MyOutput}"/>
    

    Foreground 颜色