Содержащие скрытые "объекты" в ListviewItem, с наследованием? - PullRequest
0 голосов
/ 21 июля 2010

У меня есть элемент управления списком, и он постоянно обновляется.Я хотел бы «поместить» элемент XElement в строку, поэтому, если, например, дважды щелкнуть строку, двойной щелчок вызовет метод со «скрытыми» параметрами xelement.Я начал ее решать, отладчик не показывает никаких ошибок, но я не знаю, как добраться до элемента XElement-typo из строки.

Вот соответствующая часть моего кода:

ListViewItem item = new ListViewItem();
            item = listBighit.Items.Add(new Offer (sor[0].ToString(),xml1,xml2));
            item.SubItems.Add(sor[1].ToString());
            item.SubItems.Add(sor[2].ToString());
            item.SubItems.Add(sor[3].ToString());
            item.SubItems.Add(sor[4].ToString());
            item.SubItems.Add(sor[5].ToString());

public class Offer : ListViewItem
{
    protected XElement _xml1;
    protected XElement _xml2;
    public Offer(string penznem, XElement xml1, XElement xml2)
    {
        this.xmlAddress1 = xml1;
        this.xmlAddress2 = xml2;
        base.Text = penznem;
    }
    public XElement xmlAddress1
    { get { return this._xml1; } set { this._xml1 = value; } }
    public XElement xmlAddress2
    { get { return this._xml2; } set { this._xml2 = value; } } 
}

Я надеюсь, что какой-нибудь гуру может мне помочь :) Спасибо!

1 Ответ

0 голосов
/ 21 июля 2010
ListViewItem item = new ListViewItem();
item = listBighit.Items.Add(new Offer (sor[0].ToString(),xml1,xml2));

Первая строка ничего не делает.Я представляю, что вы действительно хотите сделать, это создать предложение, а не ListViewItem:

Offer item = new Offer(...);
item.SubItems.Add(...);
// etc..
listBighit.Items.Add(item);  

Затем, когда вам нужно извлечь элемент из ListView, приведите его обратно к предложению:

Offer first = (Offer)listBighit.Items[0];
...