WPF学习笔记

WPF学习笔记


直方图

<h3>ViewModel</h3> <pre><code class="language-csharp">public class WindowsViewmodel { public class Datas { public double Value { get; set; } public string time { get; set; } } public ObservableCollection&amp;lt;Datas&amp;gt; Ass { get; set; } = new ObservableCollection&amp;lt;Datas&amp;gt;(); public WindowsViewmodel() { Task.Run(async () =&amp;gt; { while (true) { await Task.Delay(1000); Application.Current.Dispatcher.Invoke(() =&amp;gt; { Ass.Add(new Datas() { Value = new Random().Next(1, 100), time = DateTime.Now.ToString(&amp;quot;mm:ss&amp;quot;) }); if (Ass.Count &amp;gt; 20) { Ass.RemoveAt(0); } }); } }); } }</code></pre> <h3>UI界面</h3> <pre><code class="language-csharp"> &amp;lt;Grid&amp;gt; &amp;lt;Grid.RowDefinitions&amp;gt; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt; &amp;lt;/Grid.RowDefinitions&amp;gt; &amp;lt;ListBox ItemsSource=&amp;quot;{Binding Ass}&amp;quot; Grid.Row=&amp;quot;0&amp;quot;&amp;gt; &amp;lt;ListBox.ItemsPanel&amp;gt; &amp;lt;ItemsPanelTemplate&amp;gt; &amp;lt;VirtualizingStackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;&amp;lt;/VirtualizingStackPanel&amp;gt; &amp;lt;/ItemsPanelTemplate&amp;gt; &amp;lt;/ListBox.ItemsPanel&amp;gt; &amp;lt;ListBox.Resources&amp;gt; &amp;lt;Style TargetType=&amp;quot;ListBoxItem&amp;quot;&amp;gt; &amp;lt;Setter Property=&amp;quot;VerticalContentAlignment&amp;quot; Value=&amp;quot;Bottom&amp;quot;&amp;gt;&amp;lt;/Setter&amp;gt; &amp;lt;/Style&amp;gt; &amp;lt;/ListBox.Resources&amp;gt; &amp;lt;ListBox.ItemTemplate&amp;gt; &amp;lt;DataTemplate&amp;gt; &amp;lt;Grid&amp;gt; &amp;lt;Grid.RowDefinitions&amp;gt; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt; &amp;lt;RowDefinition&amp;gt;&amp;lt;/RowDefinition&amp;gt; &amp;lt;/Grid.RowDefinitions&amp;gt; &amp;lt;Border Grid.Row=&amp;quot;0&amp;quot; Width=&amp;quot;15&amp;quot; Height=&amp;quot;{Binding Value}&amp;quot; Background=&amp;quot;Pink&amp;quot;&amp;gt;&amp;lt;/Border&amp;gt; &amp;lt;TextBlock Grid.Row=&amp;quot;1&amp;quot; Text=&amp;quot;{Binding time}&amp;quot;&amp;gt;&amp;lt;/TextBlock&amp;gt; &amp;lt;/Grid&amp;gt; &amp;lt;/DataTemplate&amp;gt; &amp;lt;/ListBox.ItemTemplate&amp;gt; &amp;lt;/ListBox&amp;gt; &amp;lt;/Grid&amp;gt;</code></pre>

页面列表

ITEM_HTML