我有TextBox和ListBox与一堆元素.
TextBox有KeyDown事件处理程序,其背后的想法是允许用户按下向上和向下键在ListBox内滚动,同时焦点在TextBox上.
当用户多次按下"向下键"时,所选元素成为屏幕上的最后一个可见元素.如果用户已经到达屏幕上可见列表元素的底部,我希望他在所选元素之后也看到下一个元素.
是否可以ListBoxItem在Windows Presentation Foundation中更改从Code-Behind中选择的内容?
这是一个很简单的任务真的,我有一个Next和Previous按钮,它们代表了下一个和上一个项目ListBox.但是,myListBox.items当然是我存储在内容中的对象表示ListBox.
那么,如何获取ListBoxItem设置IsSelected属性?
如何逐个获取列表框中的项目
例如:在我的列表框中我有物品(滚动号码)
s1 s2 s3 s4 s5等......
如何通过一个获取物品
我有一个ListBox,其中包含绑定到Buddy类的伙伴列表{String name; 字符串消息}
当用户单击某个项目时,我通过处理PreviewMouseDown事件获得所单击的项目:
var item = ItemsControl.ContainerFromElement(lb, e.OriginalSource as DependencyObject) as ListBoxItem;
Run Code Online (Sandbox Code Playgroud)
问题是我无法将项目转换为Buddy项目:如果我尝试使用
Buddy b=(Buddy)item
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,如无法将类型ListBoxItem转换为Buddy
如何为Buddy课程演员?
我无法将列表框项目扩展到整个列表框宽度.
下面是我的列表框的xaml
<ListBox x:Name="MyListBox"
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
HorizontalContentAlignment = "Stretch"
Margin="0,10,0,0"
ItemsSource="{Binding Path=Users}"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Grid.Column="0"
Grid.ColumnSpan="1"
Grid.Row="1"
Grid.RowSpan="3">
<ListBox.ItemTemplate>
<DataTemplate>
<local:MyListBoxTemplate/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我已尝试在其他帖子上找到以下建议,但他们没有为我工作:
是因为我正在为我的数据模板使用单独的xaml文件吗?或者我的数据模板有问题?有没有人对我还能尝试什么有任何建议?
我看到某处或许我可以将ListBoxItem Width绑定到ListBox的实际宽度?
我是新手,所以如果我错过了一些非常简单/明显的东西,我会提前道歉!
以下是我的数据模板:
<Grid x:Name="LayoutRoot" HorizontalAlignment="Stretch" ShowGridLines="True" Height="20">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="10*" />
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="300*" />
<ColumnDefinition Width="50*" />
<ColumnDefinition Width="10*" />
</Grid.ColumnDefinitions>
<Image x:Name="TwitterImageIcon"
Grid.Column="1"
Grid.ColumnSpan="1"
Source="{Binding Path=imageUrl}"
/>
<StackPanel Orientation="Horizontal" Grid.Column="2" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" >
<TextBlock x:Name="TwitterUsernameTextBlock"
Text="{Binding Path=username,StringFormat='@\{0\} '}"/>
<TextBlock x:Name="TwitterFullNameTextBlock"
Text="{Binding Path=fullname}"/>
</StackPanel>
<Button x:Name="InfoButton" …Run Code Online (Sandbox Code Playgroud) 出于某种原因,在列表框中,字符串周围似乎有一个以空格结尾的括号.
from Tkinter import *
def update_listbox():
for i in dic:
listbox.insert(END, (i, dic[i][0], dic[i][1], dic[i][2]))
dic = {}
dic['Foods'] = ['apple','grape','pizza']
dic['Drinks '] = ['milk','soda','jucie'] # How do i make the {} not show up but keep the spaces?
root=Tk()
listbox = Listbox(root)
button = Button(root,text='push',command=update_listbox)
button.pack()
listbox.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud) 我怎么知道a ListBoxItem是否是Wpf中集合的最后一项(在模板中ItemContainerStyle或ItemContainer模板中)ListBox?
那个问题是因为我需要知道一个项目是否是以其他方式显示它的最后一个项目.例如:假设我想显示以分号分隔的项目,但最后一项:a; b; c
使用ccs选择器在html和ccs中很容易做到这一点.但是,我怎么能在Wpf中做到这一点?
我是Windows Phone 8.1的XAML的新手,并且遇到了一些麻烦
到目前为止我的工作看起来像这样:

和守则(请纠正我,如果有重大缺陷):
<Border CornerRadius="15" Background="#FF595656" Margin="0" Grid.ColumnSpan="2" Height="80">
<StackPanel Orientation="Horizontal">
<StackPanel Width="20" HorizontalAlignment="Left" VerticalAlignment="Top" />
<StackPanel HorizontalAlignment="Left" Height="80" Margin="0,0,0,0" VerticalAlignment="Center" Width="51">
<Image HorizontalAlignment="Left" Height="51" Margin="0,15,0,0" Width="51" Source="Assets/fish.png" Stretch="Fill" RenderTransformOrigin="2.307,0.881" VerticalAlignment="Center"/>
</StackPanel>
<StackPanel Width="10" HorizontalAlignment="Left" VerticalAlignment="Top" />
<StackPanel HorizontalAlignment="Left" Height="80" Margin="0" VerticalAlignment="Top" Width="310">
<TextBlock HorizontalAlignment="Left" Height="25" Margin="0,20,0,0" TextWrapping="Wrap" Text="Entry 1" Width="310" VerticalAlignment="Top" FontSize="18" Foreground="Black" FontWeight="Bold"/>
<TextBlock HorizontalAlignment="Left" Height="17" Margin="0" TextWrapping="Wrap" Text="Short description Entry 1" Width="310" VerticalAlignment="Top" Foreground="#FF0097FF"/>
</StackPanel>
</StackPanel>
</Border>
Run Code Online (Sandbox Code Playgroud)
此代码稍后将包含在ListBox带有Image,Entry 1和绑定的简短描述的内部:
<ListBox x:Name="ListBox1" …Run Code Online (Sandbox Code Playgroud) 我只能ListBoxItem通过单击 component -> Items Editor找到如何创建一个。
我们如何以编程方式创建ListBoxItemusing Firemonkey?
我正在尝试从另一个具有重复项的工作表中添加名称列表。在列表框中,我想要具有唯一的名称,而不是重复的名称。以下代码不会对它们进行重复排序,而是会出错。任何帮助表示赞赏。
Dim intCount As Integer
Dim rngData As Range
Dim strID As String
Dim rngCell As Range
dim ctrlListNames as MSForms.ListBox
Set rngData = Application.ThisWorkbook.Worksheets("Names").Range("A").CurrentRegion
'declare header of strID and sort it
strID = "Salesperson"
rngData.Sort key1:=strID, Header:=xlYes
'Loop to add the salesperson name and to make sure no duplicates are added
For Each rngCell In rngData.Columns(2).Cells
If rngCell.Value <> strID Then
ctrlListNames.AddItem rngCell.Value
strID = rngCell.Value
End If
Next rngCell
Run Code Online (Sandbox Code Playgroud) listboxitem ×10
listbox ×6
c# ×5
wpf ×4
.net ×1
android ×1
asp.net ×1
datatemplate ×1
delphi ×1
duplicates ×1
excel ×1
firemonkey ×1
ios ×1
python ×1
selecteditem ×1
silverlight ×1
stretch ×1
string ×1
tkinter ×1
vba ×1
xaml ×1