我設法在TextBlock中顯示我的數組 - 每個[元素]在單獨的行中,但是我想將每個Array [index]元素放入單獨的TextBlock中,只要它來自同一行,所以:如何爲每個數組元素設置不同的綁定? C#UWP
- 文件被訪問
- 行進行排序
- 線被分成詞
- 每行放在單獨的行
5.行中的每個單詞都放入單獨的TextBlock中,但位於同一行中。
這裏是我的代碼:
public async void ReadFile()
{
var path = @"CPU.xls";
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
var file = await folder.GetFileAsync(path);
var readFile = await Windows.Storage.FileIO.ReadLinesAsync(file);
foreach (string line in readFile.OrderBy(line =>
{
int lineNo;
var success = int.TryParse(line.Split(';')[4], out lineNo);
if (success) return lineNo;
return int.MaxValue;
}))
{
string[] splitLines = line.Split(';');
for (int index = 0; index < splitLines.Length; index++)
{
itemsControl.Items.Add(splitLines[index]);
}
}
}
正如你可以在上面看到,我已經做了步驟1 - 4,不幸的是,此刻的每一個字進入不同的行。
這是我的XAML文件的更大的一部分:
<ItemsControl x:Name="itemsControl"
ItemsSource="{Binding itemsControl}"
FontSize="24">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="Auto"
Margin="0 12"
HorizontalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Column="0"
Grid.Row="0"
Orientation="Horizontal">
<TextBlock Text="{Binding }" />
</StackPanel>
<StackPanel Grid.Column="1"
Grid.Row="0"
Orientation="Horizontal">
<TextBlock Text="{Binding }" />
</StackPanel>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
我放了兩個的TextBlocks而不是5現在。如何讓每個人獲得不同的綁定路徑來鏈接不同的數組元素?
---------- ---------- UPDATE我 編輯的TextBlocks所以它們中的每指向不同的數組元素像這樣:
<StackPanel Grid.Column="0"
Grid.Row="0"
Orientation="Horizontal">
<TextBlock Text="{Binding Path=splitLines[0]}" />
</StackPanel>
<StackPanel Grid.Column="1"
Grid.Row="0"
Orientation="Horizontal">
<TextBlock Text="{Binding Path=splitLines[1]}" />
</StackPanel>
我不在這一點上沒有任何錯誤,但不幸的是沒有顯示任何數據。爲什麼綁定到數組元素不工作?
在這種情況下,你要好得多建設這個邏輯到您的視圖模型,以及暴露的屬性'List'(或'List ')。然後,您可以將該屬性設置爲ItemsControl的ItemsSource,並按照您的喜好將這些列綁定到這些字段。 –
Baldrick
你會如此善良,請提供一些代碼嗎? – paddy