我有一个ToggleButtons列表,用作ListBox中的ItemTemplate,类似于使用Listbox的MultiSelect模式的此答案.但是我需要确保始终选择至少一个项目.
我可以通过在ListBox.SelectionChanged事件中向ListBox的SelectedItems集合中添加一个项来从ListBox中获取正确的行为,但是我的ToggleButton仍然会移出其切换状态,因此我认为我需要在此过程的早期停止它.
我想在没有在最后一个按钮上设置IsEnabled ="False"的情况下这样做,因为我更喜欢使用Enabled视觉样式,而不必重做我的按钮模板.有任何想法吗?
我有一个包含Togglebutton和Popup的控件.单击ToggleButton时,将显示弹出窗口.取消选中ToggleButton时,弹出窗口应该关闭.此外,单击远离弹出窗口应该会使其关闭,并导致Togglebutton取消选中.
我通过将Popup的StaysOpen属性设置为false来设置它,并将切换按钮的IsChecked属性设置为与Popup的IsOpen属性双向绑定.
一切都很好,除了一个案例 - 选中按钮并打开弹出窗口,单击按钮不会导致弹出窗口关闭,或者按钮返回未选中状态.
我相信,这一定是因为点击按钮会弹出来弹出的IsOpen属性设置为false的StaysOpen逻辑.反过来,这会将Togglebutton设置为未选中状态.这必须在我点击按钮处理之前发生 - 所以点击会重新检查按钮,即竞争条件.
知道我怎么能得到我想要的行为吗?
我有一个像这样定义的ToggleButton:
<ToggleButton android:text="ToggleButton" android:id="@+id/toggle"
android:layout_height="wrap_content" android:layout_width="fill_parent"></ToggleButton>
Run Code Online (Sandbox Code Playgroud)
我想以编程方式更改其状态.我尝试使用setChecked和toggle方法,但这些都不适用于我的情况.
我有持续通知,当我的活动收到通知意图时,切换按钮应设置为不检查,但它不起作用.
我在活动上这样做onResume.代码正在执行,但ToggleButton的状态不会改变.
奇怪的是,如果我调用setChecked(false)活动,onCreate它会改变按钮的状态,但不会改变onResume.我错过了什么?
谢谢.
我的toggle-Button为每个状态(红色和白色)提供不同颜色的背景.现在我需要在激活时更改togglebutton文本(红色/白色)的颜色.使用xml我无法让它工作,也许任何人都知道我做错了什么?
布局xml中的我的按钮:
<ToggleButton
android:paddingRight="20dip"
android:id="@+id/pseudo_tab_right"
android:layout_weight=".50"
android:layout_width="wrap_content"
android:textStyle="bold"
android:paddingLeft="10dip"
android:textSize="12sp"
android:layout_height="wrap_content"
android:textColor="@drawable/pseudo_tab_text_color"
android:textOff="@string/pseudo_tab_right_text"
android:textOn="@string/pseudo_tab_right_text"
android:background="@drawable/tab_button_right"
/>
Run Code Online (Sandbox Code Playgroud)
按钮状态的xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/sort_button_red_right_43" />
<item android:drawable="@drawable/sort_button_white_right_43" />
</selector>
Run Code Online (Sandbox Code Playgroud)
和xml的颜色:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- pressed -->
<item android:state_pressed="true" android:color="#4f5459" />
<!-- focused -->
<item android:state_focused="true" android:color="#4f5459" />
<!-- default -->
<item android:color="#ffffff" />
<!-- trying these out, but none works -->
<item android:state_checked="true" android:color="#ff0000" />
<item android:state_enabled="true" android:color="#ff00dd" />
<item android:state_selected="true" android:color="#ff00dd" />
<item android:state_active="true" android:color="#ff00dd" /> …Run Code Online (Sandbox Code Playgroud) 我有最简单的应用程序:带单个切换按钮的单个窗口:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ToggleButton Content="This is my ToggleButton" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
当我现在点击切换按钮时,实际上没有任何反应.当我为event Checked和Uncheckedevent 设置事件处理程序,然后单击按钮时,首先Checked然后Unchecked被触发.所以按钮似乎正常工作......
我正在编译.NET 4.5,我正在使用Windows 8 RTM.
此行为是否与Windows 8样式的显示按钮(没有"3D"边框)有关?谁能确认一下?
更新1 我制作了一张图片来展示我的意思:

如您所见,在Windows 8中,"没有任何反应",当单击切换按钮时,它根本不会"切换".这似乎是一个bug,与Windows 8风格的按钮有关......
更新:2013年5月30日:
一个修补程序是可用的:http://support.microsoft.com/kb/2805222
请参阅WPF下的问题#5
不幸的是它不能解决我的问题:(
这是我的ToggleButton:
<ToggleButton
android:id="@+id/bSmenuTopItems"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:background="@drawable/master_button_selector"
android:drawableLeft="@drawable/flame_icon" />
Run Code Online (Sandbox Code Playgroud)
我在这张图片中没有文字,我需要一个ToggleButton由于活跃状态.
编辑:我认为问题被误解了.Toggle Button(flame_icon)内部有一个drawable ,它被设置为background.我希望它集中在一起.没有文字,只有图像.我需要一个切换按钮,因为我需要选择一个活动状态.
只有drawableLeft,drawableRight,drawableTop,等我想draweableMiddle这似乎并不exisit.
我在android中创建一个简单的切换按钮,并将背景设置为drawable.
<ToggleButton
android:layout_width="wrap_content"
android:drawablePadding="0dp"
android:layout_height="wrap_content"
android:text=""
android:textSize="12sp"
android:padding="0dp"
android:id="@+id/tag_text"
android:background="@drawable/toggle_selector"/>
Run Code Online (Sandbox Code Playgroud)
toggle_selector.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/toggle_button_off" android:state_checked="false"/>
<item android:drawable="@drawable/toggle_button_on" android:state_checked="true"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
toggle_button_off和toggle_button_on具有简单的形状,可用一些颜色绘制.
这就是我将这个切换按钮膨胀到我的视图中的方式:
View child = getLayoutInflater().inflate(R.layout.tags, null);
ToggleButton tag = ((ToggleButton)child.findViewById(R.id.tag_text));
tag.setText("Testing");
tag.setTextOff("Testing");
tag.setTextOn("Testing");
flowlayout.addView(child);
Run Code Online (Sandbox Code Playgroud)
问题是在切换按钮的文本周围有太多填充,我无法通过设置摆脱它padding = "0dp".这些按钮上的文字是动态添加的,因此设置恒定的高度重量也无济于事.

我有一个ToggleButton与它的IsChecked属性绑定到使用单向绑定属性.
<ToggleButton
Command="{Binding Path=SomeCommand}"
IsChecked="{Binding Path=SomeProperty, Mode=OneWay}" />
Run Code Online (Sandbox Code Playgroud)
该SomeCommand切换布尔SomeProperty值,一个PropertyChanged事件引发的SomeProperty.
如果我更改SomeProperty了我的viewmodel,ToggleButton则会正确压下.但是,如果我单击该ToggleButton绑定似乎丢失,并且不再根据值来检查该按钮SomeProperty.关于如何解决这个问题的任何想法?
我有一个WPF应用程序.在一个窗口中有一个组合框..如果只有一个项目,我想隐藏切换按钮并禁用组合框.
我怎么做到这一点?
我已经尝试了以下代码来隐藏切换按钮.但没有运气
任何帮助,将不胜感激.谢谢
<ComboBox x:Name="CList" ItemsSource="{Binding Path=C}" >
<Style TargetType="{x:Type ToggleButton}" >
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Items.Count, ElementName=CList}" Value="1">
<Setter Property="Visibility" Value="Hidden" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox>
Run Code Online (Sandbox Code Playgroud) 我正在尝试在导航抽屉项目中实现切换按钮,Android Studio可以自动生成.最后我想要这样的东西("仅下载"-Button):
不幸的是,我不明白如何将切换按钮添加到NavDrawer的ListView.我可能会使用其中一个"Custom NavDrawer Libs",但我想了解Google使用自动生成的示例提出的方式.
有关如何将其实现到默认NavDrawer项目的任何想法?
togglebutton ×10
android ×5
wpf ×5
android-ui ×1
binding ×1
button ×1
colors ×1
combobox ×1
data-binding ×1
material ×1
popup ×1
text ×1
visibility ×1
windows-8 ×1
xaml ×1