我设计了一个聊天应用程序,并顺利完成。在这里,我创建了一个频道策略,并在该频道视图中添加了一个名为“添加成员”的按钮
点击添加成员按钮时,它会显示您的网络ti add中存在的成员列表
这里的问题是此成员列表的最后没有空格,很难查看。有可能删除该空间。这是视图,我使用的Xalm代码:
<Grid x:Name="AddMembersBorders" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
Margin="0,5,5,5" Visibility="{Binding IsFromAddMembers}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" CornerRadius="5" Margin="0,10,10,0" BorderThickness="0.3" BorderBrush="LightGray">
<StackPanel>
<ListView ItemsSource="{Binding NewChannelMembersList}" MaxHeight="150" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto"
VerticalContentAlignment="Stretch">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<materialDesign:Card materialDesign:ShadowAssist.ShadowDepth="Depth0" UniformCornerRadius="2" Padding="0" Background="#e8f5fa">
<Grid Background="#e8f5fa" Cursor="Hand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Rectangle Margin="0,-2,0,0" Grid.Column="0" Width="35" Height="35">
<Rectangle.Fill>
<ImageBrush ImageSource="{Binding ProfileImage}" Stretch="UniformToFill"/>
</Rectangle.Fill>
</Rectangle>
<TextBlock Margin="2" Grid.Column="1" VerticalAlignment="Center" Text="{Binding FullName}" FontWeight="Bold" Foreground="#424446" TextAlignment="Center"/>
<materialDesign:PackIcon Margin="0,0,2,0" Grid.Column="2" Kind="WindowClose" Foreground="Gray" VerticalAlignment="Center" Height="15" Width="15"
HorizontalAlignment="Right" Cursor="Hand" MouseLeftButtonDown="RemoveSelectedMember" MouseEnter="OnMouseEnter_RemoveSelectedMemberIcon" MouseLeave="OnMouseLeave_RemoveSelectedMemberIcon"/>
</Grid>
</materialDesign:Card>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<Grid x:Name="AddMembersSearchGrid" Margin="0,3,0,0" Visibility="Visible">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<materialDesign:PackIcon Grid.Column="0" Kind="Magnify" Width="20" Height="20" VerticalAlignment="Center" Margin="5" Foreground="Gray"/>
<TextBlock Grid.Column="1" ClipToBounds="True" FontSize="16" Margin="5,2" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="Gray" Text="Search"
Visibility="{Binding ElementName=ChannelMembersSearch, Path=Text.IsEmpty, Converter={StaticResource BooleanToVisibilityConverter}}"/>
<TextBox Grid.Column="1" x:Name="ChannelMembersSearch" KeyUp="SearchChannelMembers" Text="{Binding ChannelMembersSearchText}" BorderBrush="Transparent" BorderThickness="0"
Foreground="Black" FontSize="16" Margin="3,1,1,1" VerticalContentAlignment="Center" HorizontalContentAlignment="Stretch" Height="35"/>
<Button Grid.Column="2" x:Name="AddMembersSearchTextCancelButton" Content="{materialDesign:PackIcon CloseCircle,20}" Foreground="Gray" Background="Transparent" BorderBrush="Transparent"
Margin="3,2" PreviewMouseUp="AddMembersSearchTextCancel" Visibility="Collapsed">
</Button>
</Grid>
</StackPanel>
</Border>
<Button Background="#007a5a" FontSize="16" VerticalAlignment="Center" Grid.Column="1" Content="Go" Command="{Binding AddmembersToChannelCommand}" Height="45" Width="80" HorizontalAlignment="Left" Margin="0,10,0,0" Padding="5"></Button>
</Grid>
<ListView x:Name="UsersList" Grid.Row="3" Margin="0,10,0,-10"
MouseLeftButtonUp="UsersList_OnMouseLeftButtonUp"
ItemsSource="{Binding UsersList}" Grid.Column="1"
Grid.ColumnSpan="2"
HorizontalAlignment="Stretch"
Visibility="{Binding UserListVisibility}"
ScrollViewer.HorizontalScrollBarVisibility="Auto">
<ListView.Resources>
<Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Thumb}">
<Grid x:Name="Grid">
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="5" Height="Auto" Fill="Transparent" />
<Border x:Name="Rectangle1" CornerRadius="7" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="5" Height="Auto" Background="{TemplateBinding Background}" />
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Tag" Value="Horizontal">
<Setter TargetName="Rectangle1" Property="Width" Value="5" />
<Setter TargetName="Rectangle1" Property="Height" Value="7" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="ScrollBar">
<Setter Property="Stylus.IsFlicksEnabled" Value="True" />
<Setter Property="Foreground" Value="#858585" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Width" Value="10" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ScrollBar}">
<Grid x:Name="GridRoot" Width="19" Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="0.00001*" />
</Grid.RowDefinitions>
<Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false">
<Track.Thumb>
<Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" />
</Track.Thumb>
<Track.IncreaseRepeatButton>
<RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" />
</Track.IncreaseRepeatButton>
<Track.DecreaseRepeatButton>
<RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" />
</Track.DecreaseRepeatButton>
</Track>
</Grid>
<ControlTemplate.Triggers>
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
<Setter Value="{DynamicResource ButtonSelectBrush}" TargetName="Thumb" Property="Background" />
</Trigger>
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
<Setter Value="{DynamicResource DarkBrush}" TargetName="Thumb" Property="Background" />
</Trigger>
<Trigger Property="IsEnabled" Value="false">
<Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Orientation" Value="Horizontal">
<Setter TargetName="GridRoot" Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-90" />
</Setter.Value>
</Setter>
<Setter TargetName="PART_Track" Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-90" />
</Setter.Value>
</Setter>
<Setter Property="Width" Value="Auto" />
<Setter Property="Height" Value="12" />
<Setter TargetName="Thumb" Property="Tag" Value="Horizontal" />
<Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" />
<Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="Cursor" Value="Hand"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListViewItem}">
<Border x:Name="Bd" BorderBrush="LightGray" BorderThickness="0,0,0,1"
Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"
SnapsToDevicePixels="true">
<ContentPresenter
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground"
Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="Background" Value="#f8f8f8" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="Foreground" Value="White"/>
</MultiTrigger.Setters>
</MultiTrigger>
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsMouseOver" Value="True" />
</MultiTrigger.Conditions>
<MultiTrigger.Setters>
<Setter Property="Background" Value="#f8f8f8" />
</MultiTrigger.Setters>
</MultiTrigger>
</Style.Triggers>
</Style>
</ListView.ItemContainerStyle>
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<StackPanel Orientation="Horizontal">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Row="0" Stretch="UniformToFill" Grid.Column="0" Grid.RowSpan="2" Source="{Binding ProfileImage}" HorizontalAlignment="Left" Height="35" Width="35"></Image>
<StackPanel Orientation="Horizontal" Grid.Column="1" Grid.Row="0">
<TextBlock
Margin="10,0,0,0"
VerticalAlignment="Center"
FontWeight="Bold"
Foreground="#535253"
FontSize="14.5"
MaxWidth="800"
Text="{Binding Path=FullName}"
TextTrimming="CharacterEllipsis"
FontStretch="UltraCondensed" />
</StackPanel>
<TextBlock Grid.Row="1" Grid.Column="1"
Margin="10,0,0,0"
VerticalAlignment="Center"
FontWeight="Normal"
Foreground="#b1b1b1"
FontSize="13.5"
Text="{Binding Path=RoleName}"/>
</Grid>
</StackPanel>
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
任何建议?