这是我要添加的功能。我已经制作了ea类,可以将最后一个用户搜索文本保存到.txt文件中。当用户打开我的应用程序时,我也会将搜索列表加载到列表中。但是,我需要帮助的是在我的xaml中显示此列表。
我想要为用户实现的是,当他/她在搜索框中单击时,我想加载列表上次保存的搜索。我希望它显示在搜索框下方的Popup控件内的ListView中。这就是我设置xaml的方式
<TextBox Grid.Column="1"
Width="100"
Name="TextBox"
Text="{Binding SearchText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
<TextBox.Resources>
<Style TargetType="{x:Type Popup}">
<Style.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="IsOpen" Value="True" />
</Trigger>
<Trigger Property="IsFocused" Value="False">
<Setter Property="IsOpen" Value="False" />
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Resources>
</TextBox>
<Popup Name="SavedSearchesList">
<ListView ItemsSource="{Binding SavedSearchesList, Mode=OneWay}"
SelectedItem="{Binding SavedSearchSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
</ListView>
</Popup>
但是,当我在文本框中单击时,我的弹出控件没有打开。我究竟做错了什么?提前谢谢了。
从文本框中删除触发器,然后对弹出窗口尝试以下操作:
<Popup Name="SavedSearchesList" IsOpen="{Binding IsFocused, ElementName=NameofTextBox}">
<ListView ItemsSource="{Binding SavedSearchesList, Mode=OneWay}"
SelectedItem="{Binding SavedSearchSelected, Mode=TwoWay,
UpdateSourceTrigger=PropertyChanged}">
</ListView>
</Popup>
请记住,您必须为文本框设置一个名称,并用该名称替换“ NameofTextBox”。希望这行得通。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句