繁体   English   中英

列表框项源绑定不起作用

[英]Listbox Itemsource binding not working

我正在尝试将列表绑定到列表框。 列表框绑定有效,但是我无法将属性绑定到项目模板。

这是我的课

public class handle{
        public string smurfName;
        internal Process process;

        public handle(Process _pro, string _smuf)
        {
            process = _pro;
            smurfName = _smuf;
        }
    }

这是我的窗口构造函数。

public static ObservableCollection<handle> smurfList = new ObservableCollection<handle>();
    public GameMask()
        {
            InitializeComponent();
            runningSmurfs.ItemsSource = smurfList;

            handle newSmurf = new handle(null, "THISNAME");
            smurfList.Add(newSmurf);
        }

这是我的xaml

<ListBox HorizontalAlignment="Left" Height="200" Margin="3,41,0,0" VerticalAlignment="Top" Width="113" Name="runningSmurfs">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Path=smurfName}"></TextBlock>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>

不幸的是,我在列表上看不到“ THISNAME”,但是如果我将“ Texblock绑定”更改为文本,则可以正常工作。

谢谢您的帮助。

您至少需要一个属性,以便绑定可以工作。 smurfName应该是一个属性,如果您也实现INotifyPropertyChanged,则更好。

在您的情况下,您不需要实现INotifyPropertyChanged(我认为),但是您无法绑定到您尝试执行的字段

尝试这个:

public string SmurfName { get; set; }

并在xaml中更改与SmurfName的绑定

在您的handle类中,向您的smurfName属性添加一个getter和setter:

public string smurfName { get; set; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM