0

我找到了解决这个问题的方法,但是我很难通过点击按钮来增加字体大小

private void ApplicationBarIconButton_Click_3(object sender, EventArgs e)
{
    if (ScrollableTextBlock.FontSize < 21.5)
    {
        ScrollableTextBlock.FontSize += 1;
    }
}

这不会增加我使用链接下提到的相同数据模板的文本大小:- http://blogs.msdn.com/b/priozersk/archive/2010/09/08/creating-scrollable-textblock -for-wp7.aspx

4

2 回答 2

0

我不确定,你的问题是什么,但字体大小正在增加。这是一个小例子:

public void appBarIncreaseFont_Click(object sender, EventArgs e, PhoneApplicationPage page)
       {
        MainPage _page = page as MainPage;
        if (_page != null)
        {
            // example 1
            List<UIElement> buttons = _page.ContentPanel.Children.Where(x => x.GetType() == typeof(Button)).ToList();
            foreach (var x in buttons)
            {
                Button button = x as Button;
                if (button != null && button.FontSize < 21.5)
                    button.FontSize += 1;
            }

            // example 2
            if (_page.textBlock1.FontSize < 21.5)
                _page.textBlock1.FontSize += 1;
        }
       } 

这些示例允许增加当前类型(按钮)的所有元素的字体大小,或者只是具体元素的字体大小(textblock1)。

请注意,这个版本使用了委托,即当你创建一个 ApplicationBar 时,你在那里转移一个 PhoneApplication 页面,然后,当你创建菜单项时,你这样做:

 ApplicationBarMenuItem appBarIncreaseFont = new ApplicationBarMenuItem("menusettings");
 appBarIncreaseFont.Click += delegate(object sender, EventArgs e)
            {
                appBarIncreaseFont_Click(sender, e, page);
            };

如果您不知道您正在处理的当前页面,则无法使用 ApplicationBar 更改其上的任何内容。这就是为什么你应该在这里使用委托。

于 2013-11-05T11:47:43.530 回答
0

您需要增加实例化控件的字体大小。在这里,您似乎正在尝试增加类类型本身属性的字体大小。您要做的是在您的 .xaml 文件中创建一个 ScrollableTextBlock 控件,如下所示:

<Grid>
    <ScrollableTextBlock Name="scrollTxtBlk"
                         Text="Hello, World!" />

    <Button Content="Click Me!" 
            Click="Button_Click" />
</Grid>

然后,在您的代码隐藏文件中,添加点击事件处理程序:

private void Button_Click(object sender, RoutedEventArgs e)
{
    scrollTxtBlk.FontSize += 1;
}

当您单击时,这应该会增加名为 scrollTxtBlock 的 ScrollableTextBlock 上的字体大小,并且您应该会看到使用新字体大小更新的视图。

于 2013-11-07T06:04:18.177 回答