C# 动态创建的列表项';s模板
如何将模板设置为动态创建的列表项 大概是这样的:C# 动态创建的列表项';s模板,c#,xaml,listview,windows-10,win-universal-app,C#,Xaml,Listview,Windows 10,Win Universal App,如何将模板设置为动态创建的列表项 大概是这样的: ListView listView = new ListView(); listView.ItemsSource = source.Articles; listView.Template = ???; listView.IsItemClickEnabled = true; listView.ItemClick += OpenArticle_ItemClick; listView.SelectionMode = ListViewSelectionM
ListView listView = new ListView();
listView.ItemsSource = source.Articles;
listView.Template = ???;
listView.IsItemClickEnabled = true;
listView.ItemClick += OpenArticle_ItemClick;
listView.SelectionMode = ListViewSelectionMode.None;`
在XAML中,我有:
<Page.Resources>
<DataTemplate x:Key="MainItemTemplate" x:DataType="data:Source">
<Grid IsTapEnabled="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Orientation="Vertical" Margin="0, 10, 0, 10">
<TextBlock FontSize="20" Text="{x:Bind Title}" TextWrapping="WrapWholeWords" TextLineBounds="TrimToBaseline" Margin="0, 0, 0, 7" />
<TextBlock FontSize="12" Text="{x:Bind Date, Converter={StaticResource ConverterDateToHumanReadable}}" Opacity="0.4" />
<TextBlock FontSize="16" Text="{x:Bind Content }" Opacity="0.8" />
</StackPanel>
</Grid>
</DataTemplate>
</Page.Resources>
listView.ItemTemplate=(DataTemplate)this.Resources[“mainitemplate”]代码>
其中此
为页面
编辑:
虽然我不知道它是否能与x:bind一起工作…listView.ItemTemplate=(DataTemplate)this.Resources[“mainitemplate”]代码>
其中此
为页面
编辑:
虽然我不知道它是否能与x:bind…一起工作,但如果您想创建数据模板
如果代码隐藏,您可以使用以下机制:
StringBuilder sb = new StringBuilder();
sb.Append("<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">");
sb.Append("<Grid Width=\"200\" Height=\"100\">");
sb.Append("<StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Name:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Name}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Price:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Price}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Author:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Author}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("</StackPanel>");
sb.Append("</Grid>");
sb.Append("</DataTemplate>");
DataTemplate datatemplate = (DataTemplate)XamlReader.Load(sb.ToString());
StringBuilder sb=新建StringBuilder();
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
DataTemplate DataTemplate=(DataTemplate)XamlReader.Load(sb.ToString());
如果要创建数据模板
如果代码隐藏,可以使用以下机制:
StringBuilder sb = new StringBuilder();
sb.Append("<DataTemplate xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">");
sb.Append("<Grid Width=\"200\" Height=\"100\">");
sb.Append("<StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Name:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Name}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Price:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Price}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("<StackPanel Orientation=\"Horizontal\" Margin=\"3,3,0,3\"><TextBlock Text=\"Author:\" Style=\"{StaticResource AppBodyTextStyle}\" Margin=\"0,0,5,0\"/><TextBlock Text=\"{Binding Author}\" Style=\"{StaticResource AppBodyTextStyle}\"/></StackPanel>");
sb.Append("</StackPanel>");
sb.Append("</Grid>");
sb.Append("</DataTemplate>");
DataTemplate datatemplate = (DataTemplate)XamlReader.Load(sb.ToString());
StringBuilder sb=新建StringBuilder();
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
某人加上(“”);
DataTemplate DataTemplate=(DataTemplate)XamlReader.Load(sb.ToString());