我试图根据输入中是否有文本来启用或禁用按钮,但似乎无法实现。当我在按钮功能的禁用属性中手动设置 {true OR false} 时,它工作正常,但我对如何根据输入的内容动态设置它感到非常困惑。
非常欢迎任何指导!
这是我的应用程序代码
import { useState } from "react";
function Input (props){
const { onChange, value } = props
return (<input value={value} onChange={onChange} type="text" placeholder="Add a ToDo" maxLength="50"/>)
}
function Button (props) {
const {onChange, state, text} = props
return (<button disabled={false} onChange={onChange}>{text}</button>)
}
function App() {
const [text, setText] = useState("");
const [state, setSate] = useState(true);
const handleChange = (event) => {
if (!setText(event.target.value)) {
setSate(false);
} else {
setSate(true);
}
};
return (
<div …Run Code Online (Sandbox Code Playgroud)我试图复制Word中的左/中/右对齐工具栏按钮.单击"左对齐"按钮时,取消选中"中心"和"右"按钮.我正在使用带有ToggleButtons的WPF ListBox.
问题是用户可以单击两次左对齐按钮.第二次单击会导致按钮取消选中并将基础值设置为null.我想第二次点击什么都不做.
想法?强制ListBox始终有一个选定的项目?防止视图模型中的null(需要刷新ToggleButton绑定)?
<ListBox ItemsSource="{x:Static domain:FieldAlignment.All}" SelectedValue="{Binding Focused.FieldAlignment}">
<ListBox.ItemTemplate>
<DataTemplate>
<ToggleButton IsChecked="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}">
<TextBlock Text="{Binding Description}" />
</ToggleButton>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud) 我正在构建一个当前使用按钮的小部件.我想改用ToggleButtons,所以我改变了main.xml来反映这一点.然后我在我的机器人x上运行小部件,然后说"Porblem loading widget".我没有看到任何错误.
所以我的问题是,我可以在小部件中使用ToggleButtons吗?
好吧,我想看看是否选中了复选框,但是我收到了错误.
定义复选框代码:
public class Preferences extends PreferenceActivity {
CheckBoxPreference togglePref;
...
}
Run Code Online (Sandbox Code Playgroud)
CheckBox代码:
public void checkNotify() {
if (togglePref.isChecked()==(true)) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
OnCreate代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//SharedPreferences settings = getSharedPreferences("EasySettingsPreferences", MODE_PRIVATE);
//boolean notify = settings.getBoolean("notify", false);
checkNotify();
rootView = new LinearLayout(this);
rootView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
rootView.setOrientation(LinearLayout.VERTICAL);
togglePref = new CheckBoxPreference(this);
textView = new TextView(this);
textView.setText(R.string.app_name);
titleView = new LinearLayout(this);
titleView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, 26));
titleView.setBackgroundResource(R.drawable.pattern_carbon_fiber_dark);
titleView.addView(textView);
preferenceView = new ListView(this);
preferenceView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
preferenceView.setId(android.R.id.list);
PreferenceScreen screen = createPreferenceHierarchy();
screen.bind(preferenceView); …Run Code Online (Sandbox Code Playgroud) 如果我在第一个按钮上,我正在使用三个切换按钮,因此所有3个按钮都应该被禁用.虽然我已经编写了代码,但我没有得到,为什么它不起作用.我的代码如下..
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Toast;
import android.widget.ToggleButton;
import com.parser.XMLData;
import com.parser.XMLDataParser;
public class SyncDataPage extends Activity
{
ToggleButton toggle_syncing;
ToggleButton toggle_replace_data;
ToggleButton toggle_replace_photos;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.sync_data_page);
initializeToggleButtons();
}
private void initializeToggleButtons()
{
toggle_syncing = (ToggleButton) findViewById(R.id.sync_data_toggle_syncing);
toggle_replace_data = (ToggleButton) findViewById(R.id.sync_data_toggle_data_in_contacts);
toggle_replace_photos = (ToggleButton) findViewById(R.id.sync_data_toggle_photos_in_contacts);
toggle_syncing.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if(toggle_syncing.isChecked())
{
// Toast.makeText(getApplicationContext(), …Run Code Online (Sandbox Code Playgroud) 是否可以调整TogglerBar的大小/字体,以便在名称大小不同的情况下它们都同样大.
以下示例是Belisarius提出的解决方案: "TogglerBar可以在Mathematica中用作多个CheckBox吗?"
我希望每个Button的大小相同.
Manipulate[Graphics[
{
{White, Circle[{5, 5}, r]},(*For Mma 7 compatibility*)
If[MemberQ[whatToDisplay, "I am a Circle"],
{Red, Circle[{5, 5}, r]}],
If[MemberQ[whatToDisplay, "and I am a very nice Square"], {Blue,
Rectangle[{5, 5}, {r, r}]}],
If[MemberQ[whatToDisplay, "Other"], {Black,
Line[Tuples[{3, 4}, 2]]}]
},
PlotRange -> {{0, 20}, {0, 10}}
],
{{r, 1, Style["Radius", Black, Bold, 12]}, 1, 5, 1,
ControlType -> Slider,
ControlPlacement -> Top},
Control@{{whatToDisplay, True,
Style["What", Black, Bold, 12]}, {"I am a Circle",
"and I am a very nice …Run Code Online (Sandbox Code Playgroud) 制作ToggleButton内容的最短的xamly方法取决于其检查状态是什么?
在WPF中,我可能会选择DataTriggerSilverlight中不存在的.
我尝试了以下操作,但它不起作用,只要我包含触发器,就会破坏与源的绑定.触发器无论如何都不会起作用.
<ToggleButton
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
IsChecked="{Binding IsArchived, Mode=TwoWay}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Unarchive project"/>
</i:EventTrigger>
<i:EventTrigger EventName="Unchecked">
<ei:ChangePropertyAction
TargetObject="{Binding
RelativeSource={RelativeSource AncestorType=ToggleButton}}"
PropertyName="Content" Value="Archive project"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ToggleButton>
Run Code Online (Sandbox Code Playgroud) 是否存在双向绑定到.NET 3.5中的ToggleButton上的IsChecked属性的问题?
我有这个XAML:
<ToggleButton
Name="tbMeo"
Command="{Binding FilterOnSatelliteTypeCmd}"
IsChecked="{Binding ShowMeoDataOnly, Mode=TwoWay}"
ToolTip="Show MEO data only">
<Image Source="../images/32x32/Filter_Meo.png" Height="16" />
</ToggleButton>
Run Code Online (Sandbox Code Playgroud)
我有一个具有以下属性的ViewModel:
private bool _showMeoDataOnly;
public bool ShowMeoDataOnly
{
get { return _showMeoDataOnly; }
set
{
if (_showMeoDataOnly != value)
{
_showMeoDataOnly = value;
RaisePropertyChangedEvent("ShowMeoDataOnly");
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我单击ToggleButton,则相应地设置ShowMeoDataOnly的值.但是,如果我从后面的代码中将ShowMeoDataOnly设置为true,则ToggleButton的可视状态不会更改以指示IsChecked为true.但是,如果我手动设置ToggleButton的IsChecked属性而不是在后面的代码中将ShowMeoDataOnly设置为true,则按钮的可视状态会相应地更改.
不幸的是,切换到.NET 4/4.5现在不是一个选项,所以我无法确认这是否是.NET 3.5问题.
我的代码有什么问题吗?
有没有办法将一个ToggleButton放在ActionBar中并让它保存它所处的状态,所以当你再次打开相同的活动时,它处于你离开它的状态?
额外:如果可能的话有android 2.3.3 - 2.3.7向后兼容性
出现切换按钮但不起作用.我现在在网上也有相同的代码,它不起作用,但在Plunker它正在工作.
代码是:
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="nalogo-wrapper">
<img class="img-responsive" src="http://placehold.it/50x50&text=Logo" />
</div>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="#/view1"><span class="glyphicon glyphicon-home"></span> Etusivu</a></li>
<li><a href="#/view2">Palvelut</a></li>
<li><a href="#/view3">Yhteistiedot</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div id="main">
<div ng-view>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
感谢帮助!萨米
togglebutton navbar twitter-bootstrap angularjs angular-ui-bootstrap
togglebutton ×10
android ×4
wpf ×2
android-menu ×1
angularjs ×1
checkbox ×1
data-binding ×1
javascript ×1
listbox ×1
navbar ×1
react-hooks ×1
reactjs ×1
silverlight ×1
triggers ×1
use-state ×1
widget ×1