标签: isenabled

WPF绑定复选框IsChecked到其他复选框(IsChecked ||!IsEnabled)

我有一个选择'全部'复选框,我想绑定到其他复选框的(IsChecked ||!IsEnabled).

  • 选中"全部"选中所有已启用的复选框.

  • 取消选中"全部"取消选中所有复选框.

  • 手动检查每个已启用的复选框将选中"全部".

  • 选中所有已启用的复选框并选中"全部"并且用户取消选中任何复选框后,"全部"会自动取消选中.

我是WPF Databinding的新手.我想也许我只是点击"全部"来设置其他复选框.但我不知道如何绑定到多个源的两个属性.当我点击"全部"并手动取消选中另一个复选框时,"全部"需要取消选中.

data-binding wpf checkbox isenabled

6
推荐指数
1
解决办法
8416
查看次数

基于SelectedItem设置ComboBox的IsEnabled属性

我想根据另一个ComboBox中是否选择了一个项来启用/禁用ComboBox.我能够通过在Style上设置触发器来使其工作,但这会覆盖我对组合框的自定义全局样式.有没有另一种方法来获得相同的功能而不会失去我的风格?

<ComboBox Grid.Column="1" Grid.Row="1"
              Name="AnalysisComboBox" 
              MinWidth="200"
              VerticalAlignment="Center" HorizontalAlignment="Left"
              ItemsSource="{Binding Path=AvailableAnalysis}">

        <ComboBox.Style>
            <Style TargetType="{x:Type ComboBox}">
                <Setter Property="IsEnabled" Value="True" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding SelectedItem,ElementName=ApplicationComboBox}" Value="{x:Null}">
                        <Setter Property="IsEnabled" Value="False" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ComboBox.Style>
    </ComboBox>
Run Code Online (Sandbox Code Playgroud)

c# wpf combobox datatrigger isenabled

6
推荐指数
2
解决办法
1万
查看次数

在Wpf元素上侦听IsEnabled的更改

我想在WPF元素上监听对IsEnabled属性的更改(这样我可以在每次更改时运行一些公共代码),而不必在每个窗口/页面中加载大量代码.

我还想避免因强大的事件监听器而导致内存泄漏的任何潜在问题.我遇到过一些建议使用弱事件监听器等的文章,但对于看起来应该非常简单的事情来说,这看起来非常复杂.

我不想为了做到这一点而需要子类控件,因为有几种控件类型(以及将来可能更多)我想要监听IsEnabled的更改.

有没有人想出一个更简洁的处理方式?

wpf xaml isenabled

6
推荐指数
2
解决办法
2251
查看次数

IsEnabled False如果Binding.Source不可用

如果绑定值为false或null,请使用我想要禁用的按钮.这是我试过的.

<Button Content="Open" IsEnabled="{Binding SearchItem.WFBatchFolderStatus.UserCanOpen, Mode=OneWay, TargetNullValue=false, Converter={StaticResource booleanPassThru}}" />  
Run Code Online (Sandbox Code Playgroud)

我有一个案例,其中SearchItem.WFBatchFolderStatus可以为null(并且出于有效的商业原因).如果SearchItem.WFBatchFolderStatus为null,那么我想要禁用该按钮.当SearchItem.WFBatchFolderStatus为null时,转换器不会触发.如果SearchItem.WFBatchFolderStatus不为null,则转换器将触发.如果值为null,则转换器仅返回false,否则返回值.但转换器永远不会看到空值.当SearchItem.WFBatchFolderStatus为null时,按钮IS启用(不是我想要的).如果我删除了TargetValue和/或Converter,那么当SearchItem.WFBatchFolderStatus为null时,仍然会启用按钮.

data-binding wpf xaml isenabled

6
推荐指数
1
解决办法
6063
查看次数

在禁用的网格中启用特定按钮

我在网格中有一个按钮,其中包含许多其他按钮和控件

<Grid IsEnabled="false">
    <Grid.ColumnsDefinition>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnsDefinition>
    <Button Content="Run"/>
    <Button Grid.Column="1" Content="Test"/>
    <Button Grid.Column="2" Content="Cancel" IsEnabled="true"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)

如您所见,网格已禁用,但其中的取消按钮应启用.

我遇到的问题是,即使我将内部按钮设置为启用,它仍然处于禁用状态,可能是因为其父级已禁用.

有没有办法覆盖此行为并强制启用该按钮?

我正在使用它来处理在后台运行长进程的情况,因此应禁用除取消进程之外的所有UI操作.

谢谢!

wpf grid button isenabled

6
推荐指数
1
解决办法
2410
查看次数

检查Android系统设置中是否启用了"自动更新"

是否有可能以编程方式检查这个?

设置 - >关于设备 - >软件更新 - >自动更新(自动检查更新)

android auto-update isenabled

6
推荐指数
0
解决办法
205
查看次数

如何将 ComboBoxItem 的 IsEnabled 属性绑定到 Command 的 CanExecute 方法的结果

我有一个自定义的 SplitButton 实现,其中包含一个 ComboBox,其中有多个绑定到命令的 ComboBoxItem。我可以很好地绑定到命令的 Name 和 Text 属性,但无法将 ComboBoxItem 的IsEnabled属性绑定到 Command 的CanExecute方法的结果,因为它是一个方法。是否有一些我不知道的用于绑定到方法的语法,或者是否有一些技巧可以帮助我绑定到 CanExecute。

顺便说一句,我考虑过使用自定义 ValueConverter,除了我意识到重新评估 CanExecute 时我可能不会收到任何更新,因为它不是属性,而且我的命令不是业务对象。在我看来,此时我可能必须为命令创建一个 ViewModel,以便仅在我的自定义 SplitButton 控件中使用,但这对我来说似乎有点过分了。

data-binding wpf xaml isenabled

5
推荐指数
1
解决办法
3495
查看次数

自定义UserControl“ IsEnabled”数据绑定不起作用

我的WPF应用程序现在有点问题...

我有一个用于编辑组件详细信息的自定义UserControl。它应该从未启用开始,并在用户选择要编辑的组件后立即启用。

问题是:IsEnabled属性甚至都不会更改。

这是我的代码:

<my:UcComponentEditor Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
                        IsEnabled="{Binding EditorEnabled}"
                              DataContext="{Binding VmComponent}" />
Run Code Online (Sandbox Code Playgroud)

EditorEnabled是我的ViewModel(VmComponent)中的一个属性,默认为false,当用户选择一个组件或创建一个组件时变为true

仅作记录,在我的ViewModel中:

private Boolean _editorEnabled = false;

    public Boolean EditorEnabled
    {
        get { return _editorEnabled; }
        set 
        {
            _editorEnabled = value;
            OnPropertyChanged("EditorEnabled");
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我尝试启动我的应用程序时,UserControl正在启动...启用。我到处都添加了断点,EditorEnabled从一开始就是假的。

我也做了一件非常愚蠢的事情,试图弄清楚发生了什么:我创建了一个转换器(非常有用-将布尔值转换为布尔值-嗯),在其上设置一个断点,然后……代码从未到达。

<my:UcComponentEditor Grid.Column="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
                        IsEnabled="{Binding EditorEnabled, Converter={StaticResource BoolConverter}}"
                              DataContext="{Binding VmComponent}" />
Run Code Online (Sandbox Code Playgroud)

这可能意味着永远不会设置属性isEnabled,因为永远不会到达转换器。

您在那看到任何问题吗?大约一周前,我开始在WPF工作,因此我可能错过了一些重要的东西...

非常感谢您的宝贵时间 :-)

c# wpf binding mvvm isenabled

5
推荐指数
1
解决办法
5780
查看次数

按钮IsEnabled触发器不起作用

我有一个Button和它的风格:

<Button Name="MyBtn" Style="{StaticResource ButtonEnabledStyle}"
        IsEnabled="False" Opacity="1" />

<Style x:Key="ButtonEnabledStyle" TargetType="Button">
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="True" >
            <Setter Property="Opacity" Value="0.1" />
        </Trigger>
    </Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)

但是当我启用Button(MyBtn.IsEnabled = true)时,它不会改变它的不透明度.为什么?我怎么解决这个问题?谢谢.

c# wpf triggers button isenabled

5
推荐指数
1
解决办法
8940
查看次数

禁用 UIButton 不起作用

我在这里找到的解决方案使用的.enabled是旧的,而不是.isEnabled.

因此,如果满足(或不满足)某个条件,我正在尝试仅禁用按钮的功能/可点击性。所以在这一切之前,如果不满足条件,我将它们全部禁用,然后如果在(动态)之后满足它,那么理论上应该启用。话虽如此,当我从.isEnabled = false.

我知道满足条件是因为我有打印语句和其他测试(比如标签从超级视图中删除但.isEnabled = false按钮不起作用。有人遇到过上述问题或有任何解决方案吗?

代码如下:

override func viewDidLoad()
{
    super.viewDidLoad()
    trumpMoneyDefault.setValue(50, forKey: "TrumpMoney")
    print("UnoViewController")
    //make all the buttons that shouldn't be clickable unlcickable
    locklvl2.isEnabled = false
    locklvl3.isEnabled = false
    trumplvl2.isEnabled = false
    trumplvl3.isEnabled = false
    lvl2.isEnabled = false
    lvl3.isEnabled = false

    //make level2/3 unclickable by defeault
    //lvl2.isEnabled = false
    //lvl3.isEnabled = false
    //update trumpmoney label depending on if they have enough cash
    //also here check if they have already …
Run Code Online (Sandbox Code Playgroud)

uibutton uiview isenabled swift

5
推荐指数
1
解决办法
5195
查看次数