- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
{
var stringBuilder = new StringBuilder(OutputTextBox.Text);
stringBuilder.Append("sample text\n");
OutputTextBox.Text = stringBuilder.ToString();
}
如何在插入新文本后自动滚动到文本框底部?我读过它与 .append 方法一起工作。不幸的是,这种方法在通用应用程序中不存在。文本框是只读的。
.xaml 看起来像这样:
<ScrollViewer Name="ScrollViewer" HorizontalAlignment="Left" Height="175" VerticalAlignment="Top" Width="337" RenderTransformOrigin="1.774,9.9" Margin="95,95,-370,-223">
<TextBox x:Name="OutputTextBox" HorizontalAlignment="Left" Height="175" VerticalAlignment="Top" Width="337" RenderTransformOrigin="1.774,9.9" TextWrapping="Wrap" AcceptsReturn="True" IsReadOnly="True"/>
</ScrollViewer>
我尝试做的是:
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
var stringBuilder = new StringBuilder(OutputTextBox.Text);
stringBuilder.Append("sample text\n");
OutputTextBox.Text = stringBuilder.ToString();
ScrollViewer.ChangeView(0.0f, double.MaxValue, 1.0f);
});
最佳答案
TextBox有一个嵌入式 ScrollViewer默认情况下。我们可以在 TextBox styles and templates 中找到它.无需再次将 TextBox
放入另一个 ScrollViewer
中。
Scrolling using a scroll-wheel or touch is automatically enabled when needed. However, vertical scrollbars are not shown by default. You can show the vertical scrollbars by setting the ScrollViewer.VerticalScrollBarVisibility to Auto on the embedded ScrollViewer, as shown here.
<TextBox AcceptsReturn="True" TextWrapping="Wrap"
MaxHeight="172" Width="300" Header="Description"
ScrollViewer.VerticalScrollBarVisibility="Auto"/>
更多信息,请参见TextBox class的备注中的启用多行输入部分.
所以要滚动到文本框的底部,我们可以先获取嵌入的 ScrollViewer
然后使用 ChangeView滚动文本框内的文本。下面是一个简单的例子:
private void ScrolltoBottom(TextBox textBox)
{
var grid = (Grid)VisualTreeHelper.GetChild(textBox, 0);
for (var i = 0; i < VisualTreeHelper.GetChildrenCount(grid); i++)
{
object obj = VisualTreeHelper.GetChild(grid, i);
if (!(obj is ScrollViewer)) continue;
((ScrollViewer)obj).ChangeView(0.0f, ((ScrollViewer)obj).ExtentHeight, 1.0f);
break;
}
}
但是,使用ChangeView
方法时会出现一个问题,在TextBox
中使用此方法后,我们无法使用滚轮或触摸向后滚动。作为解决方法,我们可以使用 ScrollViewer.ScrollToVerticalOffset method暂定。
private void ScrolltoBottom(TextBox textBox)
{
var grid = (Grid)VisualTreeHelper.GetChild(textBox, 0);
for (var i = 0; i < VisualTreeHelper.GetChildrenCount(grid); i++)
{
object obj = VisualTreeHelper.GetChild(grid, i);
if (!(obj is ScrollViewer)) continue;
//((ScrollViewer)obj).ChangeView(0.0f, ((ScrollViewer)obj).ExtentHeight, 1.0f);
((ScrollViewer)obj).ScrollToVerticalOffset(((ScrollViewer)obj).ExtentHeight);
break;
}
}
关于C# 通用应用程序 : automatically scroll to bottom of textbox after setting new text programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38230766/
我的问题分为两部分 1) 我想将文件名分配给 FileUpload 控件然后保存它,但问题是它是只读的 FileUpload1.FileName="ClientMachine\\Ima
我目前正在开发一个适用于 iOS 和 macOS 的跨平台应用程序,使您的 iOS 设备可以用作触控板。 使用CGDisplayMoveCursorToPoint,我可以在屏幕上移动光标。奇迹般有效。
要为其他应用程序提供 API,我们可以使用 android:exported="true" 导出我们自己的内容提供程序、服务和广播接收器在我们的应用程序中的 AndroidManifest.xml .
我正在构建一个同义词库应用程序,对于这个问题,关键是我正在为特定单词(例如 - “feline”、“tomcat”)添加同义词列表(具有相同含义的单词) "、"puss"是 "cat"的同义词) 我有
我正在创建音频,为它分配源并使用jquery以编程方式将其附加到页面,我还需要向该音频添加一个类,但是我无法使其工作,我尝试了以下操作: var song = new Audio(); song.sr
我想以编程方式使用 RadioButton 的属性 - android:button="@drawable/abc"。 我如何用 Java 编写这个? 最佳答案 试试这个 radioButton.se
什么是 QTP 中的描述性编程? 最佳答案 在不使用对象存储库的情况下创建测试称为描述性编程,因为您将对象描述为脚本的一部分。 例如 Browser("title:=Google").Page("ti
这个问题在这里已经有了答案: Android Activity, how to override manifest's android:configChanges with Java code? (2
我正在尝试将二进制数据存储在动态创建的 JCR 中。我的问题是 JCR API 提供的唯一方法是通过 InputStream : Session session = request.getResour
这个问题在这里已经有了答案: Set EditText Digits Programmatically (6 个回答) 2年前关闭。 我目前正在使用 android:digits="qwertzuio
我正在开发 Windows 窗体应用程序。我有以下问题:在一个表单中有一个面板,在那个面板中我有许多控件(只是一个带有文本框的标签,数量是在运行时确定的)。此面板的大小小于动态添加的所有控件的总和。所
在国际象棋小程序的框架内,我有几套这样的灰度/黑白(不确定): 有什么方法可以通过 Java 代码为 PNG 图片赋予色调?尝试用谷歌搜索此事,但没有找到任何真正符合我正在寻找的东西。 例如,对于下面
我有一个 CompilationUnit,其中包含一个未导入对另一个类的引用的类。Eclipse 轻松解决了此类问题,并建议导入缺少的类(位于父包中)。 如何在不知道其名称或位置的情况下以编程方式导入
我可以完全访问 Android 系统。我拥有所有 super 用户权限,可以从我的任何应用程序中执行所有操作。我只想实现一项功能,其中我需要重置设备而不将用户重定向到 PRIVACY_SETTINGS
Android Q 引入了一项设置,可以在应用程序上强制使用深色模式,而无需担心手动更改颜色:https://developer.android.com/preview/features/darkth
好的,所以我做了一些研究,似乎一致认为您不能以编程方式更新 android:updatePeriodMillis。 看来您必须改用 AlarmManager,这就像使用大锤来敲开坚果一样……奇怪的是
我正在努力在我的表格 View 中实现一些自定义操作。目前我在下面的代码中创建了一个自定义操作。 override func tableView(tableView: UITableView, edi
我有这个委托(delegate),它打算在用户用手指滚动时执行: -(void)scrollViewDidScroll:(UIScrollView *)scrollView 我有一行代码滚动到开头:
如果我们有这段代码: int a; cout > a; 在终端中,输入请求看起来像这样 please enter a value: _ 我如何以编程方式模拟用户在其中的输入。 最佳答案 下面是一个示例
是否可以通过 java 方法以编程方式重新呈现 a4j:outputPanel? 最佳答案 您可以保留民意调查,并在方法中设置一些标志(如果该标志已在民意调查中捕获),因为设置只是渲染面板 关于jav
我是一名优秀的程序员,十分优秀!