【问题标题】:Tabitems issues in wpfwpf 中的 Tabitems 问题
【发布时间】:2020-07-30 04:37:29
【问题描述】:

我有这个简单的标签控件

            <TabControl Margin="0,32,0,0" Background="Aqua">

                <TabItem Header="Dashaboard"
                         FontSize="12"
                         Background="SaddleBrown"
                         Margin="-2,-2,-124,-21">
                    <local:Dashboard Margin="0,0,-8,0"
                                    />

                </TabItem>
                <TabItem Header="Transfer Wizard"
                         Background="LightGray"
                         FontSize="15"
                         ToolTip="Transfering equipments between departments"
                         Margin="123,-2,-224,-21">
                    <local:TransferWizard Margin="0,-4,0,4"
                                          />

                </TabItem>
                <TabItem Header="Addition Wizard"
                         Background="#c8f7c5"
                         ToolTip="Tab for equipment , customer and employees addition"
                         Margin="223,-2,-359,-21">
                    <local:EquipmentAddNavigator Margin="0,-23,0,0" />
                </TabItem>
                <TabItem Header="Addition Wizard"
                         Background="#c8f7c5"
                         ToolTip="Tab for equipment , customer and employees addition"
                         Margin="359,0,-526,-20">
                    <local:EquipmentAddNavigator Margin="0,-23,0,0"
                                                 Loaded="EquipmentAddNavigator_Loaded" />
                </TabItem>


            </TabControl>

我在 Dashboard 中有一个名为 (refresh()) 的方法

这是我的问题

1 每当用户单击仪表板选项卡项时,我如何执行刷新方法?

2 如何定义一个全局变量并使所有选项卡项都可以访问它?

【问题讨论】:

    标签: c# wpf visual-studio wpf-controls


    【解决方案1】:

    像这样处理Dashboard TabItemSelector.Selected 事件:

    <TabItem Header="Dashaboard"
       FontSize="12"
       Background="SaddleBrown"
       Margin="-2,-2,-124,-21"
       Selector.Selected="Dashaboard_Selected">
       <local:Dashboard x:Name="Dashboard" Margin="0,0,-8,0"/>
    </TabItem>
    

    在代码中:

    private void Dashaboard_Selected(object sender, RoutedEventArgs e)
    {
          this.Dashboard.refresh()
    }
    

    并在 TabControl 所在的类中定义全局变量。 例如,如果您的 TabControlMainWindow.xaml 中,则添加一个变量是 MainWindow 类,如下所示:

    public partial class MainWindow : Window
    {
        private variable_type variable_name;
        .
        .
        .
    }
    

    【讨论】:

    • 感谢您的努力,感激不尽。另一个问题是如何将全局变量传递给其他类?
    • 您可以将其设为public staticinternal static 变量或将其作为方法参数发送给其他人。
    • 你也可以定义一个静态函数来返回这个变量并保留它private static
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多