我有一些 wpf 窗口、一些类和一个视图模型。不知何故,当我告诉它时,输入字段的值不会绑定,并且视图模型中的值保持为 NULL。我实际上继续使用该值,但在调试过程中意识到它有一个 NULL 值。在输入窗口中:<dx:ThemedWindow x:Class="DXEbayManager.NewProductsMenu" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" Title="NewProductsMenu" Height="200" Width="450"> <StackPanel> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="3*" /> </Grid.ColumnDefinitions> <Label Content="Product Name: " Grid.Column="0"/> <TextBox x:Name="ProductNameBox" Text="{Binding ProductName}" Grid.Column="1"/> </Grid> </StackPanel></dx:ThemedWindow>在我的 ViewModel 中我有:public class NewProductsMenuVM : ViewModelBase { public string ProductName { get; set; } public static NewProductsMenuVM Instance { get; } = new NewProductsMenuVM(); }我想在这里使用该值(其中为 NULL): public partial class NewProductsMenu : ThemedWindow { public void saveToDB() { string ProductName = NewProductsMenuVM.Instance.ProductName; } }我没有最好的调试技巧,但后面的值{get; set; }也已经是NULL了。为什么会发生这种情况?有什么方法可以解决它?
1 回答
波斯汪
TA贡献1811条经验 获得超4个赞
您需要将DataContext窗口的实例设置为NewProductsMenuVM某处的实例,例如在构造函数中:
public partial class NewProductsMenu : ThemedWindow
{
public NewProductsMenu()
{
InitializeComponent();
DataContext = NewProductsMenuVM.Instance;
}
...
public void saveToDB()
{
string ProductName = NewProductsMenuVM.Instance.ProductName;
}
}
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消