带静态变量的wpf列表框

时间:2014-08-19 10:36:38

标签: wpf static listbox

我的列表框有问题。如果我想更改列表框中的变量,我得到一个错误,因为该变量不是静态的。有人可以解释我如何将listBox1变为对象吗?

<ListBox i:Name="listBox1"  ItemsSource="{Binding MyItems}" MaxWidth="683" PreviewMouseDown="listView_PreviewMouseDown"  IsSynchronizedWithCurrentItem="True"  HorizontalAlignment="Left" Margin="0,452,0,0" Grid.Row="0" VerticalAlignment="Top" Width="Auto" SelectionChanged="listBox1_SelectionChanged" Height="Auto" >
        <ListBoxItem>
            <TextBlock Text="{Binding listboxwertextra}" />
        </ListBoxItem>
    </ListBox>

我班主要信息:

    public class maininformation
    {
    public string listboxwertextra { get; set; }
    }

The Funktion:

    public static void reloadlistbox ()
    {

             List<maininformation> items = new List<maininformation>();
              items.Add(new maininformation() { listboxwertextra = "hallo" });
             listBox1.ItemsSource = items;
    }

1 个答案:

答案 0 :(得分:1)

 var obj = new MyClass();
    obj.Method(this);

    class MyClass()
    {
        public void Method(Window wind)
        {
            wind.YourNonStaticMethod();
        }
    }

但是你为什么不调用另一个类的对象,做任何你想做的事情,如果需要的话检索某种数据,然后更新你的列表框。

public void ReloadListbox()
    {
        var yourClass = new YourClass();
        listBox1.ItemsSource = yourClass.SendMeData();
    }