小编Bab*_*bad的帖子

改变风格的设定值

我在WPF编程(c#).我试图在一套风格中改变价值.

我的风格是:

<Style TargetType="Control" x:Key="st">
    <Setter Property="FontFamily" Value="Tahoma"/>
    <Setter Property="FontSize" Value="14"/>
</Style>
Run Code Online (Sandbox Code Playgroud)

我在一个按钮中使用它:

<Button x:Name="btnCancel" Style="{StaticResource st}" Content="??????" Canvas.Left="30" Canvas.Top="18" Width="139" Height="53" FontFamily="2  badr" FlowDirection="LeftToRight" Click="btnCancel_Click_1" />
Run Code Online (Sandbox Code Playgroud)

而我试图做的是这段代码:

Style style = new Style();
style = (Style) Resources["st"];
Setter setter =(Setter) style.Setters[1];
setter.Value = 30;
Run Code Online (Sandbox Code Playgroud)

设置字体大小后30我得到这个错误?

在使用(密封)"SetterCollectionBase"之后,无法修改它

我怎么解决这个问题?

c# wpf xaml styles

4
推荐指数
1
解决办法
7165
查看次数

Func&lt;void&gt; 作为输入参数

我在 c# 中有一些参数的方法:

public static void DeleteSingleItemInDataGrid
    (DataGrid dataGrid, String IDcolumnName, Func<int> afterCompletionMethod_ToRun)
Run Code Online (Sandbox Code Playgroud)

我想将第三个参数类型更改为Func< void >但我不能。我该怎么做?

换句话说,我的问题是如何将方法(或具有 void 结果的函数)作为方法参数传递?

c# parameters func

4
推荐指数
1
解决办法
8758
查看次数

按钮中的WPF图像和文本对齐方式

我需要一种方法将标签对齐到右边并将图像对齐.我试过这段代码:

<Button HorizontalAlignment="Left" Margin="11,265,0,0" VerticalAlignment="Top" Width="190" Height="51">
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Stretch">
                <Image Source="Resources/Accept-icon.png" Stretch="Uniform" HorizontalAlignment="Left"/>
                <Label Content="?????" HorizontalContentAlignment="Right" VerticalAlignment="Center" FontFamily="2  badr" FontSize="20"/>
            </StackPanel>
        </Button> 
Run Code Online (Sandbox Code Playgroud)

但我看到标签贴在图像上.

有没有什么办法能有像单元格填充了一些参数(由左/右/上/下)?

wpf xaml button

2
推荐指数
2
解决办法
1万
查看次数

序列化 GradientBrush

我正在尝试使用序列化保存 Brush 对象,但出现以下错误:

在程序集“PresentationCore,版本=4.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”中键入“System.Windows.Media.LinearGradientBrush”未标记为可序列化

如何将 Brush 对象保存到文件中?

c# wpf serialization brush

2
推荐指数
1
解决办法
939
查看次数

为什么Code Analysis告诉我,"不要多次丢弃对象":

在这段代码上:

public static string Base64FromFileName(string fileName)
{
    try
    {
        FileInfo fInfo = new FileInfo(fileName);
        long numBytes = fInfo.Length;
        FileStream fStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
        BinaryReader br = new BinaryReader(fStream);
        byte[] bdata = br.ReadBytes((int)numBytes);
        br.Close();
        fStream.Close();
        return Convert.ToBase64String(bdata);
    }
    catch(Exception e)
    {
        throw e;
    }
}
Run Code Online (Sandbox Code Playgroud)

...我得到了Visual Studio的代码分析工具,警告," 不要多次丢弃对象......为了避免生成System.ObjectDisposedException,你不应该在对象上多次调用Dispose " fStream.Close();" 线.

为什么?fStream是否在上面的行中,BinaryReader关闭了?

无论如何,我不会更好地重构它:

. . .
using (FileStream fStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))   
{
    using (BinaryReader br = new BinaryReader(fStream)) 
    {
        byte[] bdata = br.ReadBytes((int)numBytes);
    } //br.Close();
} …
Run Code Online (Sandbox Code Playgroud)

c# dispose filestream binaryreader visual-studio-2013

2
推荐指数
1
解决办法
421
查看次数

Bitmap 到 ImageSource 的快速转换

我在 WPF(c#) 中编程用于图像处理目的。什么是转换fastet方式BitmapImageSource

c# wpf bitmap image-processing imagesource

-1
推荐指数
1
解决办法
4923
查看次数

删除列表中的项目

我用c#编程.我正在尝试从a中删除一个项目,List<>但是当我删除该项目时,我收到此异常错误:

mscorlib.dll中出现"System.InvalidOperationException"类型的异常,但未在用户代码中处理

附加信息:收集已修改; 枚举操作可能无法执行.

这是我的代码:

foreach (Target t in targetList)
{
    if (t.CalculateDistance(t.EndX, t.EndY) <= 5)
    {
        targetList.Remove(t);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在第一行得到例外.为什么我看到这个错误?或者我该如何解决?

c# list invalidoperationexception

-2
推荐指数
1
解决办法
154
查看次数