我正在学习WPF。
考虑 WPF 应用程序的 XAML 代码:
<Window x:Class="_0SE_BridgingCodeBehind.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:col="clr-namespace:System.Collections;assembly=mscorlib"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Window.Resources>
<col:ArrayList x:Key="MyDataSource">
<sys:DateTime>1/2/2003 5:00:00</sys:DateTime>
<sys:DateTime>4/5/2006 13:13:13</sys:DateTime>
<sys:DateTime>7/8/2009 23:59:59</sys:DateTime>
</col:ArrayList>
</Window.Resources>
<Canvas>
<ListBox Width="200" Height="100"
ItemsSource="{StaticResource MyDataSource}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding DayOfWeek}"
Width="80" Background="Red" />
<Label Content="{Binding DayOfYear}"
Width="50" Background="Yellow" />
<Label Content="{Binding TimeOfDay}"
Background="LightBlue" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Canvas>
</Window>
来自 codepoject 文章“ WPF 列表/视图 - 可视化快速入门”(“数据模板”部分),
如何按顺序修改项目代码:
- 添加到第
MyDataSource
4 个中的 3 个现有静态值,例如4/4/2013 13:12:13
C# 代码 (MainWindow.xaml.cs
) 中的值? - 在 C# 代码中获取第二个 DateTime 值(当前
4/5/2006 13:13:13
在MyDataSource
XAML 代码中)?
更新:
遵循Henk Holterman 的回答(稍作改动):
<Canvas>
<ListBox Width="200" Height="100"
x:Name="myListBox"
ItemsSource="{StaticResource MyDataSource}"
我已经从 C# 中渲染了值(从 XAML 中丢失了它们,尽管我不想要它们)或 C# 中的 XAML 值,但不是两者兼而有之。