一个图形用户界面元素,允许用户从列表中选择一个或多个项目。
我来自 MS Access VBA,其中我使用列表框提供可单击的项目列表,返回所单击项目的值。 用户不必看到值列,只需查看项目
<ListBox x:Name="myData" ItemsSource="{Binding Data}" Background="{StaticResource TransparentColor}" Grid.Row="1" BorderBrush="{StaticResource LeftGridColor}" > <ListBox.Resources> <Style TargetType="ScrollViewer" BasedOn="{StaticResource MaterialDesignScrollViewer}" /> <Style TargetType="ScrollBar" BasedOn="{StaticResource MaterialDesignScrollBarMinimal}" /> <DataTemplate DataType="{x:Type dto:DownLoadDto}"> <Grid Background="{StaticResource ThemeColor}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*"/> <ColumnDefinition Width="10*"/> <ColumnDefinition Width="5*"/> <ColumnDefinition Width="2*"/> <ColumnDefinition Width="2*"/> </Grid.ColumnDefinitions> <Grid Grid.Column="0"> <TextBlock Text="{Binding index}" /> </Grid> <Grid Grid.Column="1"> <WrapPanel > <Image Source="{Binding Image}" Width="40"/> <StackPanel Margin="10,0,0,0"> <TextBlock Text="{Binding Name}"/> <TextBlock Text="{Binding Des}" /> </StackPanel> </WrapPanel> </Grid> <Grid Grid.Column="2"> <TextBlock Text="{Binding Album}" /> </Grid> <Grid Grid.Column="3"> <Path Data="M0,0 L100,0 L100,100 L0,100 Z " Fill="Red" Stroke="Red" Stretch="Fill" Width="16" Height="16"/> </Grid> <Grid Grid.Column="4"> <TextBlock Text="{Binding Size}"/> </Grid> </Grid> </DataTemplate> </ListBox.Resources> </ListBox> 我希望Datatemple中的内容按照我设定的比例填充,但实际上它们非常接近。这个问题让我很烦恼,我很想得到你的答案 我尝试设置 HorizontalContentAlignment = "Stretch" 结果靠得很近 这就是我所期望的: 此样式使用固定宽度,我希望样式与摆动成比例 ListBoxes 和 ListViews 是 WPF 中的一个难题。您需要更新 ListBox.ItemContainerStyle 以水平拉伸 Content Presenter。 <ListBox x:Name="myData"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <!--*** THIS GUY ***--> <ContentPresenter HorizontalAlignment="Stretch" /> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle> <ListBoxItem> <Grid HorizontalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="1*" /> <ColumnDefinition Width="10*" /> <ColumnDefinition Width="5*" /> <ColumnDefinition Width="2*" /> <ColumnDefinition Width="2*" /> </Grid.ColumnDefinitions> <Grid Grid.Column="0"> <TextBlock Text="1" /> </Grid> <Grid Grid.Column="1"> <WrapPanel> <Rectangle Fill="LightGray" Width="40" Height="40"/> <StackPanel Margin="10,0,0,0"> <TextBlock Text="NAME" /> <TextBlock Text="DES" /> </StackPanel> </WrapPanel> </Grid> <Grid Grid.Column="2"> <TextBlock Text="ALBUM" /> </Grid> <Grid Grid.Column="3"> <Path Data="M0,0 L100,0 L100,100 L0,100 Z " Fill="Red" Stroke="Red" Stretch="Fill" Width="16" Height="16" /> </Grid> <Grid Grid.Column="4"> <TextBlock Text="SIZE" /> </Grid> </Grid> </ListBoxItem>
ObservableCollection 停止与 WPF Listbox 一致更新
我正在使用 WPF 并有一个列表框,我已在后面的代码中将其绑定到 ObservableCollection。 它显示在多个视图中并且工作完美(添加/删除,并保持同步
将 ListBox 项目转换回其 Collection 类型
在我的 XAML 中,我有两个选项卡,第一个包含绑定到 ObservableCollection 对象的 ListBox,称为 ParameterFilesList,第二个包含绑定到 ObservableCollection 对象的 ListBox,称为
这是我的代码。 有了它,我可以打开并播放一张可爱的音乐专辑,该专辑在垂直的黑色左侧窗格上显示曲目。 我一直在尝试使所述窗口“可平移”,所以......
我正在尝试从 listbox1 中选择一个项目并相应地替换 textbox1 中的值
这只是一个示例代码,供那些尝试做类似事情的人使用。 是代码示例: if (listBox1.SelectedIndex >= 0) { 字符串描边 = listBox1.SelectedItem.ToString(); 是...
我正在尝试利用异步/等待模式,使用 HttpClient post 请求的结果填充列表框。 该应用程序是 Excel VSTO。 该列表框位于 Excel 任务窗格中。 我...
我正在尝试用 C# 做一个简单的 WebSocket 服务器,它将与 JavaScript 中的客户端通信,我正在测试的代码是这样的: Websocket 锐服务器 使用系统; 使用 System.Windows.Forms;...
如何将列表框添加为panedWindow Tkinter GUI?
有人可以告诉我如何向panedWindow 添加列表框吗? 以这段代码为例:左边的窗口可以做成列表框吗? 从 tkinter 导入 * m1 = 窗格窗口() m1.pack(填充=两者,
下面的代码片段创建了两个列表框。我已经编写了代码,以便: 单击该项目后,从“可用”列表中选择的项目将转移到“选定”列表(通过...控制)
相关文章:VBA 用户窗体列表框 - 运行时错误 380。无法设置列表属性。属性值无效 @taller 帮助我简化了用于在列表框中搜索记录的命令按钮代码。我
我从 WP7 开始,我正在尝试更改 TexBlock 的颜色和其他属性。它包含在列表框中并绑定到集合。我正在寻找像“OnDataBound”这样的方法。价值...
相关文章:VBA 用户窗体列表框 - 运行时错误 380。无法设置列表属性。属性值无效 @taller 帮助我简化了用于在列表框中搜索记录的命令按钮代码。我
填充列表框。 “运行时错误‘380’:无法设置 List 属性。属性值无效。”
尝试填充 ListBox 时,我总是在第 11 列上收到错误。 我在评估表中有 Excel 表格,其中包含从 B3 到 P24 的测试数据。前 4 列是文本数据,其余 11 列是 n...
我有一个关于 MS Excel 中用户窗体中的列表框控件的问题。 如何将搜索限制为列表框中最近的 10 条记录而不是全部? 这段代码如何适用于列表框
如何在 ListBox 中的每个 ListBoxItem 之间放置分隔符?
这是我的 XAML: 这是我的 XAML: <ListBox Grid.Row="1" x:Name="lstGames" Background="#343434" > <ListBox.ItemTemplate> <DataTemplate> <Grid ShowGridLines="True"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Image Grid.Column="0" Source="{Binding ImageUrl}" Width="100"/> <StackPanel Grid.Column="1"> <StackPanel Orientation="Horizontal"> <TextBlock Text="Title:" /> <TextBlock Text="{Binding Title}" /> </StackPanel> <StackPanel Orientation="Horizontal"> <TextBlock Text="Release Date:" /> <TextBlock Text="{Binding ReleaseDate}" /> </StackPanel> </StackPanel> </Grid> </DataTemplate> </ListBox.ItemTemplate> </ListBox> Sans 在 DataTemplate 中放置一个矩形并为其赋予颜色,ListBox 是否有某种方法可以在每个项目之间本机设置某些内容? 这是一个更好的例子,因为顶部没有分隔符 <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <StackPanel> <Separator x:Name="Separator"/> <ContentPresenter/> </StackPanel> <ControlTemplate.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}"> <Setter Property="Visibility" TargetName="Separator" Value="Collapsed"/> </DataTrigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle> 这建立在 @EvaLacy 给出的答案的基础上,更加完整一些。 因为该答案替换了 ListBoxItem 的模板,所以它禁用了选择列表项时发生的内置突出显示(因为突出显示是通过原始模板中的触发器完成的)。要恢复此功能,请将默认触发器放入新模板中并稍微调整模板内容: <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <StackPanel> <Separator x:Name="Separator"/> <!-- Bind to parent properties --> <Border BorderThickness="{TemplateBinding Border.BorderThickness}" Padding="{TemplateBinding Control.Padding}" BorderBrush="{TemplateBinding Border.BorderBrush}" Background="{TemplateBinding Panel.Background}" Name="Bd" SnapsToDevicePixels="True"> <ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" /> </Border> </StackPanel> <ControlTemplate.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}"> <Setter Property="Visibility" TargetName="Separator" Value="Collapsed"/> </DataTrigger> </ControlTemplate.Triggers> <!-- Original Triggers --> <Trigger Property="Selector.IsSelected" Value="True"> <Setter TargetName="Bd" Property="Panel.Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> <Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/> </Trigger> <MultiTrigger> <MultiTrigger.Conditions> <Condition Property="Selector.IsSelected" Value="True" /> <Condition Property="Selector.IsSelectionActive" Value="False"/> </MultiTrigger.Conditions> <Setter TargetName="Bd" Property="Panel.Background" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}" /> <Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/> </MultiTrigger> <Trigger Property="UIElement.IsEnabled" Value="False"> <Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" /> </Trigger> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle> 我使用旧的但有用的向我展示模板应用程序检索了这些触发器。 我的解决方案: <Style x:Key="STYLE_ListBoxSubItem" TargetType="ListBoxItem"> <Setter Property="HorizontalContentAlignment" Value="Stretch"></Setter> <Setter Property="VerticalContentAlignment" Value="Stretch"></Setter> <Setter Property="SnapsToDevicePixels" Value="true"/> <Setter Property="OverridesDefaultStyle" Value="true"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type ListBoxItem}"> <DockPanel LastChildFill="True"> <Separator x:Name="Separator" DockPanel.Dock="Top" BorderBrush="Black" BorderThickness="2"/> <Border x:Name="Border" SnapsToDevicePixels="true"> <ContentPresenter VerticalAlignment="Center" /> </Border> </DockPanel> <ControlTemplate.Triggers> <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}"> <Setter Property="Visibility" TargetName="Separator" Value="Collapsed"/> </DataTrigger> <Trigger Property="IsSelected" Value="true"> <Setter TargetName="Border" Property="Background" Value="Orange"/> </Trigger> <Trigger Property="IsEnabled" Value="false"> <Setter Property="Foreground" Value="#888888"/> </Trigger> <Trigger Property="Control.IsMouseOver" Value="True"> <Setter TargetName="Border" Property="Background" Value="LightGray"></Setter> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> <!-- Usage --> <ListBox ItemContainerStyle="{StaticResource STYLE_ListBoxSubItem}"/> 您可以将分隔符的呈现移动到 ListBoxItem 控制模板中,如这个有意简化的示例所示: <Grid> <Grid.Resources> <PointCollection x:Key="sampleData"> <Point>10,20</Point> <Point>30,40</Point> <Point>50,60</Point> </PointCollection> </Grid.Resources> <ListBox ItemsSource="{StaticResource sampleData}"> <ListBox.ItemContainerStyle> <Style TargetType="ListBoxItem"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="ListBoxItem"> <StackPanel> <Separator/> <ContentPresenter/> </StackPanel> </ControlTemplate> </Setter.Value> </Setter> </Style> </ListBox.ItemContainerStyle> <ListBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding}"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> 这将使分隔符远离您的项目模板。代价是您可能需要从默认的 ListViewItem 控件模板复制更多内容才能满足您的需求。当然,Separator 是可视化渲染分隔符的十几种方法之一。 我们现在已经到达 Avalonia 11,您不再需要覆盖默认模板(默认模板可能会随时更改,然后您的覆盖可能会中断)。您现在可以设置默认模板的某些元素的样式。 <ListBox ItemsSource="{Binding Documents}"> <ListBox.Styles> <Style Selector="ListBoxItem"> <Setter Property="BorderBrush" Value="Black" /> <Setter Property="BorderThickness" Value="0,0,0,1" /> <Style Selector="^:nth-child(1)"> <Setter Property="BorderThickness" Value="0,1,0,1" /> </Style> </Style> </ListBox.Styles> 这为每个 ListBoxItem 提供了 1 的下边框,除了第一个也有上边框。
我正在尝试根据绑定值更改列表框中数据绑定 TextBlock 的前景色。 我的代码如下:xaml 我正在尝试根据绑定值更改 TextBlock 中数据绑定 ListBox 的前景色。 我的代码如下:xaml <Grid.Resources> <converters:ColorConverter x:Key="ColorConverter"/> </Grid.Resources> <ListBox> <ListBox.ItemTemplate> <DataTemplate> <TextBlock Name="TitleText"> <Run Foreground="{Binding Type, Converter={StaticResource ColorConverter}}" Text="₹" /> </TextBlock> </DataTemplate> </ListBox.ItemTemplate> </ListBox> 颜色转换器类: public class ColorConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value != null) { String Value = (String)value; if (Value.Equals("Credit")) return Colors.Green; else return Colors.Red; } return null; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } 当我运行代码时,没有错误,但颜色不会改变。 Lorem ipsum dolor sat amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut laboure et dolore magna aliqua。发酵蛋白 leo vel orci porta non pulvinar neque laoreet。 Commodo elit 坐在不准的位置。 Vulputate eu scelerisque felis imperdiet proin发酵leo vel orci。 Mattis ullamcorper velit sed ullamcorper morbi Tincidunt ornare Massa。 Sapien faucibus et molestie ac feugiat sed lectus. Id aliquet risus feugiat in ante metus: <TextBlock FontSize="12" FontWeight="Bold" Foreground="White"> <TextBlock.Text> <Binding XPath="Title"/> </TextBlock.Text> </TextBlock> ... sodales ut eu sem 整数: using System; namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } } } Ut enim ad minim veniam,quis nostrud 实习 ullamco labouris nisi ut aliquip ex ea commodo consequat..
我刚刚下载了 gtk3+,并且正在处理以下示例代码: https://python-gtk-3-tutorial.readthedocs.io/en/latest/layout.html#listbox 这是示例代码: 进口地理标志 GI.
为什么 DataTrigger 只适用于列表框中的最后一个元素?
我试图找到这个问题的答案(列表框项目根据视图模型属性显示复选框或单选按钮),我遇到了一个非常奇怪的行为。 如果我使用 DataTrigg...
VBA 用户窗体列表框 - 运行时错误 380。无法设置列表属性。无效的属性值
我已经使用“错误时继续下一步”一段时间来“跳过”此错误,因为尽管存在错误,我仍然得到了正确的结果。然而,现在,我有一个新问题需要解决,...