2
我有一個列表視圖與幾列和一個按鈕,加載一個新窗口輸入數據並提交數據到列表視圖。下面有一個截圖。 http://img16.imageshack.us/img16/2597/databinding.jpgWPF列表視圖數據綁定列表
我只想要一個項目添加到ListView添加按鈕被點擊
<ListView x:Name="StepsListView" Height="100" ItemsSource="{Binding Source currentStep}">
<ListView.View>
<GridView>
<GridViewColumn Header="Priority" Width="50" DisplayMemberBinding="{Binding Path=stepPriority}"></GridViewColumn>
<GridViewColumn Header="Description" Width="185" DisplayMemberBinding="{Binding Path=stepDescription}"></GridViewColumn>
<GridViewColumn Header="Time" Width="50" DisplayMemberBinding="{Binding Path=stepTime}"></GridViewColumn>
<GridViewColumn Header="Dep" Width="50" DisplayMemberBinding="{Binding Path=stepDependency}"></GridViewColumn>
<GridViewColumn Header="Type" Width="100" DisplayMemberBinding="{Binding Path=stepType}"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>
這是我的XAML代碼時。請注意我對WPF來說是全新的,我使用的「綁定」代碼只是來自網絡的小片段。我嘗試了幾種不同的方式來做這件事,現在我很困惑。
我有一個名爲StepItem的數據對象。優先事項應該是在列表視圖的項目號,以便在第一項是優先1.
public class StepItem
{
public string stepDescription { get; set; }
public int stepTime { get; set; }
public int stepDependency { get; set; }
public int stepPriority { get; set; }
public string stepType { get; set; }
}
步驟按鈕代碼如下。 currentStep是一步物品
private void button1_Click(object sender, RoutedEventArgs e)
{
Methods start = new Methods();
start.currentStep = new List<StepItem>();
string dependency = dependencyTextBox.Text;
string time = TimeTextbox.Text;
string priority = priorityTextbox.Text;
start.currentStep.Add(new StepItem()
{
stepDescription = DescriptionTextBox.Text,
stepDependency = Convert.ToInt32(dependency),
stepTime = Convert.ToInt32(time),
stepType = typeTextBox.Text,
stepPriority = Convert.ToInt32(priority)
});
NewRecipe n = new NewRecipe();
n.addSteptoList(start.currentStep);
}
然後,我需要一些代碼來將項目添加到其中,現在我已經得到了
public void addSteptoList(List<StepItem> item)
{
StepsListView.Items.Add(item);
}
此代碼列表視圖列表可能是一個有點亂現在我一直在試圖讓數據綁定工作。
了變化之後出現一個錯誤在Visual Studio System.Windows.Data錯誤輸出窗口:40:BindingExpression路徑錯誤:源currentStep'屬性不是「對象中找到'''NewRecipe'(Name ='')'。 BindingExpression:Path = Source currentStep; DataItem ='NewRecipe'(Name ='');目標元素是'ListView'(Name ='StepsListView');目標屬性是'ItemsSource'(類型'IEnumerable') – user1335169
NewRecipe是類的名稱?發佈currentStep的公共屬性。嘗試{Binding Path currentStep} – Paparazzi
對不起NewRecipe是我輸入食譜信息的窗口的名稱。 – user1335169