- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的项目中有以下情况,我想知道实现目标的最佳方法是什么。
目标:拥有一个带有 itemsource 绑定(bind)的组合框和一个功能类似于刷新按钮的条目(从数据库中获取项目并更新组合框项目)。
目前,我使用 itemsource 绑定(bind)设置了我的组合框(见下文),但目前我正在为刷新命令的绑定(bind)而苦苦挣扎。
ItemsSource 绑定(bind):
<UserControl.Resources>
<CollectionViewSource x:Key="ProjectSource" Source="{Binding Projects, ElementName=Ancestor}"/>
<CompositeCollection x:Key="ProjectCollection">
<CollectionContainer Collection="{Binding Source={StaticResource ProjectSource}}"/>
<Button Content="Refresh!"/>
</CompositeCollection>
</UserControl.Resources>
<ComboBox SelectedValue="{Binding Project}"
ItemsSource="{StaticResource ProjectCollection}"
VerticalContentAlignment="Center"
HorizontalAlignment="Left"
Name="Box"
IsHitTestVisible="{Binding IsEditable}"
IsEnabled="{Binding IsEnabled, Mode=OneWay, IsAsync=True}">
<ComboBox.Resources>
<DataTemplate DataType="{x:Type viewModels:ProjectViewModel}">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>>
</ComboBox.Resources>
</ComboBox>
最佳答案
我过去通过使用后面的代码解决了这个问题。当组合框加载时,创建一个新的 List<objects>
的Projects
并添加 Refresh string
(也许 "<Refresh...>"
)到列表中,最后将 ItemsSource 设置为此列表。使用模板选择器显示适当的 DataTemplate。 When the selection changes, check if the Refresh string
被选中,如果是这样,请刷新并重新加载组合框。刷新时,您可以尝试将选择设置回先前选择的项目,或索引 0,因此用户永远无法在组合框中选择“刷新”。
一些片段来演示。
在 ctor
SelectedProjectComboBoxTemplateSelector.StringTemplate = FindResource("StringTemplate") as DataTemplate;
SelectedProjectComboBoxTemplateSelector.ProjectTemplate = FindResource("ProjectTemplate") as DataTemplate;
SelectedProjectComboBox.SelectionChanged += SelectedProjectComboBox_SelectionChanged;
SelectedProjectComboBox.ItemTemplateSelector = new SelectedProjectComboBoxTemplateSelector();
void SelectedProjectComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) {
if (SelectedProjectComboBox.SelectedItem is string && ((string)SelectedProjectComboBox.SelectedItem) == RefreshProjectSelectionItem) {
object current = e.RemovedItems.Count > 0 ? e.RemovedItems[0] : null;
bool ret = RefreshData(); // from db
if (ret) {
LoadData(); // repopulate combobox
} else {
SelectedProjectComboBox.SelectedItem = current;
}
}
}
public class SelectedProjectComboBoxTemplateSelector : DataTemplateSelector {
public static DataTemplate StringTemplate { get; set; }
public static DataTemplate ProjectTemplate { get; set; }
public override DataTemplate SelectTemplate(object item, DependencyObject container) {
if (item == null || Designer.IsInDesignMode) return null;
if (item is string) return StringTemplate;
if (item is Project) return ProjectTemplate;
return null;
}
}
关于c# - 具有 "Refresh"条目的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34891069/
在我的phone-gap index.html javascript部分中,window.refresh用于IOS,this.refresh用于android。我想对两者使用相同的index.html
我正在使用 Guzzle 获取域上设置了元刷新的网页的 HTML: Guzzle 似乎没有拦截这种重定向。这是正确的吗?我可以将 Guzzle 配置为跟随刷新吗? 我应该考虑其他哪些解决方案来解决问
我试图在另一个 DropDownList 发生变化后刷新下拉列表,但是 Refresh() 方法是未定义错误正在提升。我再次尝试读取数据源,它显示它正在加载,但数据仍然相同。请帮助解决这个问题。 代码
swift 我正在努力做到这一点,当您在 tableview 上拉动刷新时,它会使用存储在 Parse.com 上的数据更新 tableview 我已经研究过了,看来我需要使用 loadObjects
我有以下物化 View - CREATE MATERIALIZED VIEW TESTRESULT ON PREBUILT TABLE WITH REDUCED PRECISION REFRESH F
我正在使用 Cognito 用户池对系统中的用户进行身份验证。成功的身份验证会提供ID token (JWT)、访问 token (JWT) 和刷新 token 。 documentation her
我想使用 FlashMessage 显示错误(或成功)消息同时让我的页面在所需时间重新加载 我正在使用 FlashMessage我的代码看起来像 render() { return ( {
更新:我已经写了一篇博文,介绍我对这个问题的了解。我仍然不完全理解它,但希望有人会阅读这篇文章并阐明我的问题:http://andymcfee.com/2012/04/04/icon-fonts-ps
所以我有一个物化 View (我知道......): CREATE MATERIALIZED VIEW vw_my_view_here REFRESH COMPLETE START WITH SYSD
我正在尝试使用 the angular-oauth2-oidc Silent Refresh实现与在 IdentityServer4 服务器中配置的隐式流相结合。我有一个在 ng new ng-and
TL;DR - 如果 oauth2 授权发生在原生 android/ios 应用程序中,我如何在后端刷新 token ? 我正在研究 oauth2 与谷歌日历的集成。我的堆栈是将 SPA 应用程序作为
作为前言,我对java很陌生。因此,请期待愚蠢的错误。 我正在尝试在 BlueJ 中使用 java 的绘图面板做一个项目,但我不知道如何制作一个具有移动对象的程序。这是一个项目,所以提供了代码。我们必
我正在尝试使用我在许多网站上找到的不显眼但非常有用的润色来润色我的网络编程技能。 Stackoverflow.com,举个例子。当我提出问题时,页面会提交问题,我的浏览器会自行重新加载并显示我的问题。
AjaxControlToolkit.dll.refresh 文件的作用是什么? 最佳答案 *.dll.refresh 文件是一个非常简单的文件,它告诉项目外部引用所在的位置。 http://mons
如何使用watir-webdrive刷新页面? 我尝试了他们在这里说的话:http://watirwebdriver.com/sending-special-keys/,但是没有运气。 browser
我目前正在制作一个交互式图表,该图表应该计算商业项目的潜在风险因素。为此,我一直在使用百度 ECharts,并让图表在视觉上工作,但是当数据发生变化时无法让图表更新。 数据来自外部调查问卷,该问卷使用
在 plupload div 之后,我有一个带有 plupload 的上传表单和一个带有 bool 值的复选框。 如果选中该复选框,我想更改 plupload 中 url 的值。 这是我的代码
我有一个相当大的PHP代码库(10k文件),可以在Windows计算机上使用Eclipse 3.4/PDT 2来工作,而这些文件则托管在Debian文件服务器上。我通过Windows上的映射驱动器进行
使用 Angularjs v0.9 和 php 来实现我的成员(member)系统 在下面的函数中,我将调用一个api来编辑成员(member)的数据,成功后,php函数将返回 {"success":
我正在使用 setColor 和 getColor 方法更改 JPanel 的颜色。 现在我想更改它,这样您就不必在调用 getColor 的函数中单击 getColor 按钮 100 毫秒。 但是在
我是一名优秀的程序员,十分优秀!