C# 如何设置;高度“;或;宽度“;在.net核心WPF项目的XAML中创建图像
我正在使用AvalonDock(作为对接解决方案),它的“AvalonDock:LayoutAchorable.IconSource”属性需要一个ImageSource 我有以下代码:C# 如何设置;高度“;或;宽度“;在.net核心WPF项目的XAML中创建图像,c#,wpf,.net-core,height,bitmapimage,C#,Wpf,.net Core,Height,Bitmapimage,我正在使用AvalonDock(作为对接解决方案),它的“AvalonDock:LayoutAchorable.IconSource”属性需要一个ImageSource 我有以下代码: <avalonDock:LayoutRoot.LeftSide> <avalonDock:LayoutAnchorSide> <avalonDock:LayoutAnchorGroup>
<avalonDock:LayoutRoot.LeftSide>
<avalonDock:LayoutAnchorSide>
<avalonDock:LayoutAnchorGroup>
<!--IconSource="pack://application:,,,/PtdcGui;component/Assets/Image/Scope.png"-->
<avalonDock:LayoutAnchorable
Title="AutoHide1 Content"
ContentId="AutoHide1Content">
<avalonDock:LayoutAnchorable.IconSource>
<BitmapImage DecodePixelHeight="20"
UriSource="pack://application:,,,/PtdcGui;component/Assets/Image/Scope.png">
</BitmapImage>
</avalonDock:LayoutAnchorable.IconSource>
<TextBox Text="{Binding TestTimer, Mode=OneWay, StringFormat='AutoHide Attached to Timer ->\{0\}'}" />
</avalonDock:LayoutAnchorable>
<avalonDock:LayoutAnchorable Title="AutoHide2 Content" ContentId="AutoHide2Content">
<StackPanel Orientation="Vertical">
<TextBox />
<TextBox />
</StackPanel>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorGroup>
</avalonDock:LayoutAnchorSide>
</avalonDock:LayoutRoot.LeftSide>
原件:
如何将图标调整为20的固定高度
注意:在.net core中,听起来我们应该使用BitmapImage,它在xaml中没有可用的“高度”(或“宽度”)属性。我发现的最简单的方法是将图标放置在网格中,然后可以调整网格的大小来更改图像的大小
例如:
<Grid Grid.Row="1" Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="5"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Name="TitleTextBlock" Text="Budgets" FontWeight="Bold"/>
<Image Grid.Row="0" Name="SettingsImage" HorizontalAlignment="Right"></Image>
</Grid>
你能告诉我nuget软件包已经安装了吗?对于Avalondock,我没有软件包,我的机器上有源代码,我将项目添加到我的机器上。你的答案在哪里?我想知道我的源代码是否不好???我已经删除了一段时间,我会想出一个更好的。非常感谢大卫。我认为应该有另一种更简单的方法。要么它已经存在,我们只是还没有找到它,要么它将很快与.NET5(RC刚刚发布的地方)一起出现。
var icon = new PackIconFontAwesome() {Kind = PackIconFontAwesomeKind.AsteriskSolid};
Geometry geo = Geometry.Parse(icon.Data);
GeometryDrawing gd = new GeometryDrawing();
gd.Geometry = geo;
gd.Brush = icon.BorderBrush;
gd.Pen = new Pen(Brushes.White, 8);
DrawingImage geoImage = new DrawingImage(gd);
geoImage.Freeze();
SettingsImage.Source = geoImage;