小编Shi*_*ama的帖子

如何指示 Gradle 从不同位置使用 Java?

我在 Android Studio 中构建我的测试应用程序,然后在事件日志中它说:

Android Studio 正在使用此 JDK 位置:C:\Program Files\Android\Android Studio\jre,这与 Gradle 默认使用的不同:C:\Program Files (x86)\Java\jdk1.8.0_181 使用不同的位置可能会产生如果在使用 Android Studio 时从命令行运行 Gradle 任务,则需要多个 Gradle 守护进程。

然后给出了这些选项:

  1. 更多信息...
  2. 设置 Android Studio 使用与 Gradle 相同的 JDK 并同步
  3. 不再显示此警告

我点击了:

设置 Android Studio 使用与 Gradle 相同的 JDK 并同步

然后我的应用程序不想再构建了。

这是错误:

Gradle 同步失败:无法启动守护进程。
此问题可能是由守护程序的错误配置引起的。

例如,使用了无法识别的 jvm 选项。
请参阅https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html上有关守护程序的用户手册章节

进程命令行:C:\Program Files (x86)\Java\jdk1.8.0_181\bin\java.exe -Xmx1536m -Dfile.encoding=windows-1252 -Duser.country=ZA -Duser.language=en -Duser。变体 -cp C:\Users\{MyUserName}\.gradle\wrapper\dists\gradle-5.4.1-all\3221gyojl5jsh0helicew7rwx\gradle-5.4.1\lib\gradle-launcher-5.4.1.jar org.gradle。启动器.daemon.bootstrap.GradleDaemon 5.4.1

请阅读以下过程输出以了解更多信息:

VM 初始化期间发生错误无法为 1572864KB 对象堆保留足够的空间 请查阅 IDE 日志以获取更多详细信息(帮助 | 显示日志)(16 秒 166 毫秒)

我检查了事件日志: …

android gradle android-studio android-gradle-plugin

26
推荐指数
3
解决办法
3万
查看次数

如何分配全局初始化事件?

我在App.xaml.cs中有这个代码:

protected override void OnStartup(StartupEventArgs e)
{
    EventManager.RegisterClassHandler(typeof(TextBox), TextBox.TextChangedEvent, new RoutedEventHandler(TextBox_TextChangedEvent));
}
private void TextBox_TextChangedEvent(object sender, RoutedEventArgs e)
{
    // Works
}
Run Code Online (Sandbox Code Playgroud)

我想为InitializedEvent做类似的事情.
这是我失败的尝试:

protected override void OnStartup(StartupEventArgs e)
{
    EventManager.RegisterClassHandler(typeof(FrameworkElement), FrameworkElement.InitializedEvent, new EventHandler(FrameworkElement_InitializedEvent));
}
private void FrameworkElement_InitializedEvent(object sender, EventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

InitializedEvent是否在其他地方?
这甚至可能吗?

我尝试过使用LoadedEvent:

protected override void OnStartup(StartupEventArgs e)
{
    EventManager.RegisterClassHandler(typeof(FrameworkElement), FrameworkElement.LoadedEvent, new RoutedEventHandler(FrameworkElement_LoadedEvent));
}
private void FrameworkElement_LoadedEvent(object sender, RoutedEventArgs e)
{
    // Fires only for Windows
}
Run Code Online (Sandbox Code Playgroud)

它只针对Windows而不是Windows内的控件触发.我确实意识到了; 当我将一个加载的事件添加到我在Window中的Label时; FrameworkElement_LoadedEvent即使我正常加载的事件(我专门为Label制作)是空的,全局也会为该标签触发.我也试过这些:

EventManager.RegisterClassHandler(typeof(Button), Button.LoadedEvent, new RoutedEventHandler(Button_LoadedEvent)); …
Run Code Online (Sandbox Code Playgroud)

c# wpf

11
推荐指数
1
解决办法
393
查看次数

如何在代码中设置按钮的内部属性?

我有一个像这样的XAML按钮:

<Button x:Name="buttonOK" Content="OK" />
Run Code Online (Sandbox Code Playgroud)

我没有附加XAML样式,也没有资源字典样式.没有外在的东西造型我的按钮,这很好; 这就是我想要的.

我现在想要在后面的代码中更改该按钮的RadiusX和RadiusY,因为我想要一个带有圆边的按钮.我知道System.Windows.Controls.Button没有这些属性,但我知道一个WPF矩形.

我不知道这是否正确; 但WPF按钮控件是由其他控件组成的?对?就像一个矩形和一个文本块或标签,通过设置Button.Content,你实际上是在改变按钮的内部标签的内容.我不确定我的想法有多天真.

底线是我想做这样的事情:

buttonOK.InnerRectangle.RadiusX = 5;
buttonOK.InnerRectangle.RadiusY = 5;
Run Code Online (Sandbox Code Playgroud)

我想在代码中使用它,没有XAML,因为我在不同的XAML文件中有很多按钮,我想通过在代码中调用一个方法而不改变每个XAML文件来绕过它们的边缘.并非所有XAML文件中的所有按钮,只是某些按钮.

我已经在我的所有窗口和用户控件中调用了一个方法,我只想添加圆形边缘样式的按钮到该方法,然后它不会导致繁琐的代码.

c# wpf button

7
推荐指数
1
解决办法
578
查看次数

如何找到与我的alt代码匹配的字符

当我输入Alt+ 1我回来☺我想在代码中使用一些神奇的方法来获取字符串中的☺字符.

像这样的东西:

string smiley = AltCodes.GetAltCodeCharacter(1).ToString();

// Display the Smiley
richTextBoxHappy.Text = smiley;
Run Code Online (Sandbox Code Playgroud)

然后在富文本框中应该有这样的: ?

c# wpf

6
推荐指数
1
解决办法
120
查看次数