[英]How to make a custom UserList control in C#?
如果使用WPF,請從ListView開始,然后將視圖設置為GridView。 然后設置列和單元格模板。 綁定到屬性。
<ListView Margin="10" Name="lvUsers" ItemsSource="{Binding Users}">
<ListView.View>
<GridView>
<GridViewColumn Header="Name">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<Image Source="{Binding UserIcon}"/>
<TextBlock Text="{Binding Name}" Margin="20,0,0,0" />
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Header="Status">
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Image Source="{StaticResource PrivateChatImage}" Visibility="{Binding IsPrivateChat, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<Image Source="{StaticResource PrivateMessImage}" Visibility="{Binding IsPrivateMess, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<Image Source="{Binding StatusIcon}"/>
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
好,謝謝您的幫助。
但是,我確實設法通過自定義繪圖來解決所有問題。
這是最終結果http://q67.imgup.net/Untitledeb8d.png
基本上,我所做的是制作一個WinForms UserControl,然后添加一個userList類,以便將其掛接到OnPaint()中,然后遍歷並吸引用戶。
它工作得相當好,所以我用Name和Status為其創建了一個標題,然后使抓取器可移動它(因為其上繪制的內容必須全部是手工的)。 它將光標正確設置為拆分器。
完成此操作后,我需要一種方法來了解某人點擊了哪個用戶,但這只是一個簡單的rect搜索。
完成之后,我需要一個可以工作的滾動,因此我將用戶繪畫移動到繼承了我相信的SplitterControl的新類中,然后我根據列表中的用戶數*元素的大小等來設置滾動大小。
總而言之,此用戶列表的工作效果與我嘗試克隆的用戶列表一樣好。
一切都很好!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.