我只是想在xaml中使用系結的方式讓最小化的gridview作業。如果我在后臺代碼中指定ItemSource,就能正常作業。我錯過了什么?當我試圖進行xaml系結時,只有空的網格。
xaml:
<StackPanel>
<telerik:RadGridView x:Name="GridView1" ItemsSource="{Binding MyProperties1}" AutoGenerateColumns="True" />
<teleik:RadGridView x:Name="GridView2" ItemsSource="{Binding MyProperties2}" AutoGenerateColumns="True" />
</StackPanel>
后面的代碼:
public partial class MainWindow : Windowpublic List<MyGridView1Data> MyProperties1 { get; set; }
public List<MyGridView2Data> MyProperties2 { get; set; }
public MainWindow()
{
InitializeComponent()。
MyProperties1 = new List<MyGridView1Data>()。
MyProperties1.Add(new MyGridView1Data())。
MyProperties2 = new List<MyGridView2Data>();
MyProperties2.Add(new MyGridView2Data())。
/GridView1.ItemsSource = MyProperties1;
/GridView2.ItemsSource = MyProperties2;
}
}
public class MyGridView1Data
{
public string MyProperty1 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty2 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty3 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty4 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty5 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty6 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty7 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty8 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
}
public class MyGridView2Data public
string MyProperty1 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty2 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty3 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty4 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty5 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty6 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty7 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
public string MyProperty8 { get; set; } = "12345678901234567892123456789312345678941234567895123456789"/span>。
}
uj5u.com熱心網友回復:
如果我在后臺代碼中指定ItemSource,就能正常作業。我錯過了什么?當我試圖進行xaml系結時,只有空的網格。
實際的問題是因為你沒有設定視圖的DataContext,在你的具體案例中是MainWindow。為了讓MainWindow元素參與資料系結,您必須設定DataContext屬性。由于DataContext沒有被設定,所以系結沒有發生,這就是為什么你沒有看到你的更改被應用。
你可以通過以下幾種方式來解決你的問題:
您可以通過以下方式解決您的問題:
您可以通過以下方式解決您的問題
DataContextXaml- 在后面的代碼中分配DataContext。
public MainWindow()
{
InitializeComponent()。
DataContext = this; //Assign the datacontext to this instance 。
}
- 添加到Xaml
<Window x:Class="MyApplication.MainWindow"/span>
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"/span>
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"/span>
xmlns:local="clr-namespace:MyApplication"/span>
Title="MainWindow"/span> Height="350"/span> Width="525"/span>>
<Window.DataContext>
<local:MainWindow/>
</Window.DataContext>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324496.html
標籤:
