WPF计划尺度学习记载19
public class Sentence : ObservableObject{
private string content;
public string Content
{
get { return content; }
set { content = value; RaisePropertyChanged(); }
}
}
public class MainViewModel : ObservableObject
{
private ObservableCollection<Sentence> poetries = new ObservableCollection<Sentence>();
public ObservableCollection<Sentence> Poetries
{
get { return poetries; }
set { poetries = value; RaisePropertyChanged(); }
}
public MainViewModel()
{
Poetries.Add(new Sentence() { Content = "汉皇重色思倾国,御宇多年求不得。" });
Poetries.Add(new Sentence() { Content = "杨家有女初长成,养在深闺人未识。" });
Poetries.Add(new Sentence() { Content = "天生丽质难自弃,一朝选在君王侧。" });
Poetries.Add(new Sentence() { Content = "回眸一笑百媚生,六宫粉黛无颜色。" });
Poetries.Add(new Sentence() { Content = "春寒赐浴华清池,温泉水滑洗凝脂。" });
Poetries.Add(new Sentence() { Content = "侍儿扶起娇无力,始是新承恩泽时。" });
Poetries.Add(new Sentence() { Content = "云鬓花颜金步摇,芙蓉帐暖度春宵。" });
}
} // 视图模型基类继承(实现INotifyPropertyChanged接口)
public class MainViewModel : ObservableObject
{
// 诗句集合存储字段(使用ObservableCollection实现动态UI更新)
private ObservableCollection<Sentence> poetries = new ObservableCollection<Sentence>();
/// <summary>
/// 诗歌集合属性(双向绑定到UI列表控件)
/// 技术特性:
/// 1. 动态集合变更通知(自动触发UI重绘)
/// 2. 线程安全操作(通过BindingOperations.EnableCollectionSynchronization)
/// </summary>
public ObservableCollection<Sentence> Poetries
{
get { return poetries; }
// 属性变更时自动通知视图层(触发RaisePropertyChanged事件)
set { poetries = value; RaisePropertyChanged(); }
}
/// <summary>
/// 视图模型构造函数(数据初始化)
/// 最佳实践建议:
/// 1. 大数据量时应采用异步加载(async/await模式)
/// 2. 生产环境建议从数据库/API获取数据
/// </summary>
public MainViewModel()
{
// 初始化《长恨歌》诗句(白居易代表作,共7句示例)
Poetries.Add(new Sentence() { Content = "汉皇重色思倾国,御宇多年求不得。" });// 开篇点明主题
Poetries.Add(new Sentence() { Content = "杨家有女初长成,养在深闺人未识。" });// 杨玉环出场铺垫
Poetries.Add(new Sentence() { Content = "天生丽质难自弃,一朝选在君王侧。" });// 命运转折点描写
Poetries.Add(new Sentence() { Content = "回眸一笑百媚生,六宫粉黛无颜色。" });// 经典容貌描写手法
Poetries.Add(new Sentence() { Content = "春寒赐浴华清池,温泉水滑洗凝脂。" });// 奢华宫廷生活场景
Poetries.Add(new Sentence() { Content = "侍儿扶起娇无力,始是新承恩泽时。" });// 含蓄的情感表达
Poetries.Add(new Sentence() { Content = "云鬓花颜金步摇,芙蓉帐暖度春宵。" });// 服饰与场景的意象组合
}
} <Grid>
<Border
BorderBrush="#DFDFDF"
BorderThickness="1"
CornerRadius="5"
Margin="10">
<ListBox ItemsSource="{Binding Poetries}" >
<ListBox.ItemTemplate>
<DataTemplate>
<Border>
<TextBlock Text="{Binding Content}"
FontSize="14"
Margin="10 5 10 5"/>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.Style>
<Style TargetType="ListBox">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="0"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="ListBoxItem">
<Setter Property="Height" Value="40"/>
<Setter Property="Template">
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]