所以,想象一下情况......
我有一个 MainWindow,其中放置了一个 TabControl,Apadtly 命名为 TabControl1。TabControl 由 2 个“选项卡”组成。
第一个选项卡包含我的一个自定义用户控件FruitForm的实例化,这个特定的实例化名为FruitForm1。
同样,第二个选项卡包含我的另一个自定义用户控件VegForm的实例,这个特定的实例被命名为VegForm1。
为了让您对FruitForm和VegForm的外观有一个印象,我附上了以下图片:
我还有 2 个名为FruitValidation和VegValidation的验证类,它们本质上由简单的公共静态方法组成,这些方法根据输入字符串是否与简单标准匹配而返回 true 或 false。例如,考虑“ FruitValidation.validateApple() ”方法:
public static bool validateApple(string apple)
{
if (apple == null) return false;
if (apple.ToUpper() == "APPLE") return true;
else return false;
}
我还有一个静态IconLoader类,它本质上是一个包装器,它允许我轻松地将所需图标的源属性更改为Tick或Cross。例如,如果我想将 Banana 文本框(见上图)旁边的图标更改为Tick,那么我将编写以下代码:
imageBanana.Source = IconLoader.GetTick();
//setting it back to a cross...
imageBanana.Source = IconLoader.GetCross();
每次在特定文本框中更改文本时,我都会验证文本框的内容是否与所需值匹配。如果是这样,我将图标设置为Tick,否则将显示Cross。
现在基本上这是一个问题:
当对应的 UserControl 中的所有文本框都有效时(即每个 TextBox旁边都有一个 Tick),如何将在标题中找到的图像更改为Tick ?我还希望从当前不知道TabControl1存在的UserControl中触发此特定事件
我还应该指出,如果其中一个文本字段变得无效(在某个点曾经有效之后),则相应的 Tab 标题应该反映这一点 - 通过显示 Cross