猿问

如何绑定 WPF 列表视图项的背景色?

我是 WPF 的新手,我在网上阅读了很多类似的问题,但我仍然没有让我的列表视图工作。我想根据属性(红色、黄色或绿色)更改列表视图元素的背景颜色


在itemsSource我的ListView的是这个类的一个观察的名单:


public class ConnectionItem 

{

    public ConnectionItem(string name)

    {

        Name = name;

    }


    public string Name { get; }

    private string _color = "Red";

    public string Color { get => _color; }

    private ConnectionStatus _status;

    public ConnectionStatus Status

    {

        set

        {

            if (value == _status)

            {

                return;

            }

            else

            {

                switch (value)

                {

                    case ConnectionStatus.Connected:

                        _color = "Yellow";

                        break;

                    case ConnectionStatus.Ready:

                        _color = "Green";

                        break;

                    default:

                        _color = "Red";

                        break;

                }

            }

        }

    }

}

我在 xaml 中定义了我的列表视图,如下所示:


<ListView x:Name="lvConnections">

            <ListView.ItemContainerStyle>

                <Style TargetType="{x:Type ListViewItem}">

                    <EventSetter Event="MouseDoubleClick" Handler="ListViewItem_MouseDoubleClick" />

                </Style>

            </ListView.ItemContainerStyle>

            <ListView.Resources>

绑定不起作用,我所有的列表视图元素都没有背景颜色。我不需要通过ListView.Resources绑定完全相同的解决方案,但我在其他方法中也没有成功。


胡子哥哥
浏览 257回答 3
3回答
随时随地看视频慕课网APP
我要回答