将代码放在 lightswitch 的什么位置以将字体系列设置为 Consolas?

Where do I place the code in lightswitch to set the font family to Consolas?

我想更改 lightswitch 应用程序的多行启用文本框控件的字体类型。之前有一个关于如何执行此操作的问题。但是,我不确定将该代码放在哪里。

之前回答的参考问题是:

Setting Font in Lightswitch

但是,我不是 C# 程序员,我草率地破解了这个问题。我目前将我复制的代码放在一个名为 ClinicMessagesListDetail.lsml.cs 的文件中:(但是,它似乎对程序没有帮助或伤害)

using System;
using System.Linq;
using System.IO;
using System.IO.IsolatedStorage;
using System.Collections.Generic;
using Microsoft.LightSwitch;
using Microsoft.LightSwitch.Framework.Client;
using Microsoft.LightSwitch.Presentation;
using Microsoft.LightSwitch.Presentation.Extensions;
using System.Windows.Controls;
namespace LightSwitchApplication
{
    public partial class ClinicMessagesListDetail
    {
        private void SetMono(string Message)
        {
            var ctrl = this.FindControl(Message);
            if (ctrl != null)
            {
                ctrl.ControlAvailable += (s, e) =>
                {
                    if (e.Control is TextBox)
                    {
                        var tb = (TextBox)e.Control;
                        tb.FontFamily = new System.Windows.Media.FontFamily("Consolas");
                    }
                };
            }
        }
    }
}

这是我第一次在这里发帖,希望我能遵守所有准则。

谢谢 戴夫 S

您似乎想在 Silverlight 客户端屏幕上实现它,您的方向是正确的。

除了您已经添加到屏幕的 class 模块 (ClinicMessagesListDetail.lsml.cs) 中的 SetMono 方法和关联的使用指令(针对 System.Windows.Controls),您还需要从屏幕创建的例程中调用 SetMono 方法。

应通过单击 'Write Code' 菜单(位于 LightSwitch 屏幕设计器顶部)下的 'ClinicMessagesListDetail_Created' 选项来引入此创建的例程。

引入后,应使用以下代码扩展这个空的创建例程以调用您的 SetMono 方法(将 NameOfYourTextBox 替换为您的控件名称):

partial void ClinicMessagesListDetail_Created()
{
    // Write your code here.
    SetMono("NameOfYourTextBox");
}

另一方面,如果您想在 HTML 客户端屏幕上实现字体更改,则需要采取截然不同的方法(如果是这种情况,请更新您的问题).