当前位置: 代码迷 >> C# >> 关于应用按钮的实现解决方案
  详细解决方案

关于应用按钮的实现解决方案

热度:36   发布时间:2016-05-05 04:29:09.0
关于应用按钮的实现

关于应用这个按钮,当你填写数据后点击应用,应用会自动变灰没法操作,但当你对数据进行修改时,应用按钮会恢复,以下是我写的命令对应用按钮进行操作,proConfigView为实例的窗体,btnUesd为ButtonName
 
private void AddUsedCmdExcute(object parameter)
        {
            if (proConfigView.btnUesd.IsFocused)
            {
                AddMsg();
               proConfigView.btnUesd.IsEnabled = false;
            }
            else
            {
                if (proConfigView.txtName.IsFocused)
                {
                    proConfigView.btnUesd.IsEnabled = true;
                }
            }


        }

------解决思路----------------------
if (proConfigView.txtName.IsFocused)
                {
                    proConfigView.btnUesd.IsEnabled = true;
                }
你怎么把这个判断写进按钮事件里了
这样一来,你不点按钮,它也不会执行啊

你应该在文本框的获得焦点事件里写代码
------解决思路----------------------
你的需求描述的很清楚啊,怎么可能都在按钮的动作中完成。

你就简单地从实际流程进行分析:
(动作)点击“应用”按钮 --> (结果) 禁用”应用“按钮,
(动作)编辑文本 --> (结果)启用”应用“按钮。

从代码的角度看,应该用事件处理程序响应动作,实现结果:
(动作)点击“应用”按钮 --> 事件处理程序,
(动作)编辑文本 --> 事件处理程序。

然后你需要找到合适的事件,编写相应处理程序。这里要使用的事件是Button的Click事件 和 TextBox的TextChanged事件。
给个简单的例子,事件处理程序是写在后台代码中。如果用绑定的方式,那就要自己改造了。
.xaml
 <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <StackPanel Orientation="Horizontal" VerticalAlignment="Top" TextBox.TextChanged="tb_TextChanged">
            <TextBlock Text="Number"/>
            <TextBox MinWidth="120" MaxWidth="200"/>
            <TextBlock Text="Name"/>
            <TextBox MinWidth="120" MaxWidth="200"/>
        </StackPanel>
        <Button Grid.Row="1" Name="btnApply" Click="btnApply_Click" Content="Apply" HorizontalAlignment="Center"/>
    </Grid>

xaml.cs
 private void btnApply_Click(object sender, RoutedEventArgs e)
        {
            btnApply.IsEnabled = false;
        }

        private void tb_TextChanged(object sender, TextChangedEventArgs e)
        {
            btnApply.IsEnabled = true;
        }
  相关解决方案