我的列表框有问题。如果我想更改列表框中的变量,我得到一个错误,因为该变量不是静态的。有人可以解释我如何将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;
}
答案 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();
}