小编Fel*_* D.的帖子

C#WPF - 无法在DataGridCheckBoxColumn中选中/取消选中复选框

我正在初始化DataGridin XAML但是Columns是在代码中生成的,因为列根据输入数据而变化.但是,当生成DataGridCheckBoxColumn时,我无法选中/取消选中此列任何行中的单个复选框.根据bool"checkFlag"的值检查/取消选中其中一些

DataGridCheckBoxColumn checkColumn = new DataGridCheckBoxColumn();
checkColumn.Header = "Save";
checkColumn.Binding = new Binding("checkFlag");
checkColumn.MinWidth = 50;
vysledkyDataGrid.Columns.Add(checkColumn);

<DataGrid AutoGenerateColumns="false" 
          Margin="20,247,25,94" 
          Name="vysledkyDataGrid"
          IsEnabled="True" 
          CanUserReorderColumns="False" 
          CanUserResizeColumns="True" 
          CanUserSortColumns="False" 
          HorizontalGridLinesBrush="DarkGray"              
          VerticalGridLinesBrush="DarkGray" 
          ClipboardCopyMode="None" 
          IsReadOnly="True">
        <DataGrid.ColumnHeaderStyle>
            <Style TargetType="{x:Type DataGridColumnHeader}">
                <Setter Property="HorizontalAlignment" Value="Stretch" />
                <Setter Property="HorizontalContentAlignment" Value="Center" />
            </Style>
        </DataGrid.ColumnHeaderStyle>
        <DataGrid.CellStyle>
            <Style TargetType="DataGridCell">
                <Setter Property="Block.TextAlignment" Value="Right"/>
            </Style>
        </DataGrid.CellStyle>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

c# wpf wpfdatagrid

3
推荐指数
1
解决办法
3109
查看次数

Xamarin.Forms AdMob“缺少 AdActivity”

我在 Xamarin.Forms 项目中实施 AdMob 时遇到问题。

因此,当我运行 android 应用程序时,它会显示在输出中:

01-22 16:53:17.351 W/Ads (3529): Missing AdActivity with android:configChanges in AndroidManifest.xml. 
You must have the following declaration within the <application> element:
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
Run Code Online (Sandbox Code Playgroud)

但我Manifest在里面有这行..:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="15" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
Run Code Online (Sandbox Code Playgroud)

当我打开包含广告的页面时,会显示:

在此处输入图片说明

这里有什么问题?

c# android admob xamarin.android xamarin.forms

3
推荐指数
1
解决办法
297
查看次数

如何从浏览器访问具有IPV6链接本地地址的设备(如IE,Firefox等)?

我的设备和我尝试访问的主机都位于同一子网中.

场景:

我在同一子网中有一台交换机和一台服务器.我必须从我服务器中的浏览器使用ipv6链接本地地址访问交换机.任何人都可以告诉我确切的语法?

ipv6 subnet link-local server

3
推荐指数
2
解决办法
5310
查看次数

由于服务的"FaultedState",WCF.ServiceChannel无法通信

我正在创建一个自我主题WCF Service.

[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface IStateChecker
{
    [OperationContract]
    void SetState(string state);
}
Run Code Online (Sandbox Code Playgroud)

这是我的Service:

public class StateCheckerService : IStateChecker
{
    public void SetState(string state)
    {
        Console.WriteLine($"{DateTime.Now.ToString("dd.MM.yyyy HH:mm:sss")} : {state}");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的实施:

//Define baseaddres:
Uri baseAddress = new Uri("http://localhost:8000/ServiceModelSamples/Service");

//create host:
ServiceHost selfHost = new ServiceHost(typeof(StateCheckerService), baseAddress);

try
{
     //Add endpoint to host:
     selfHost.AddServiceEndpoint(typeof(IStateChecker), new WSHttpBinding(), "StateCheckerService");

     //Add metadata exchange:
     ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
     smb.HttpGetEnabled = true;
     selfHost.Description.Behaviors.Add(smb);


     selfHost.Faulted += SelfHost_Faulted;

     //Start service
     selfHost.Open(); …
Run Code Online (Sandbox Code Playgroud)

c# service wcf

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

向MenuItem添加彩色椭圆

我想补充Ellipse一些MenuItems我的ContextMenu.

可悲的是,我无法让这个工作[ 没有显示 ].

Canvas canvas = new Canvas() { Height = 16, Width = 16 };
canvas.Children.Add(new System.Windows.Shapes.Ellipse()
{
    Height = 16,
    Width = 16,
    Fill = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Red)
});
System.Windows.Media.Imaging.RenderTargetBitmap bmp = new System.Windows.Media.Imaging.RenderTargetBitmap((int)canvas.Width, (int)canvas.Height, 96, 96, System.Windows.Media.PixelFormats.Default);

bmp.Render(canvas);
MenuItem tmp = new MenuItem();
tmp.Header = "Away";
tmp.Icon = new System.Windows.Controls.Image()
{
     Source = bmp
};

AddContextMenuEntry(tmp);
Run Code Online (Sandbox Code Playgroud)

我错过了什么或者这里有什么问题?

预期结果将是...... 像这样:

                                                             在此输入图像描述

c# wpf menu menuitem bitmapimage

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

在没有 Visual Studio 的 Rider 中使用 NuGet

我正在使用 JetBrains Rider,但未安装 Visual Studio。
我已经安装了 Visual Studio 构建工具来编译我的代码。
Rider 中的 NuGet 包管理器似乎仍然无法工作。

在此输入图像描述

有没有办法在不安装 Visual Studio 本身的情况下解决这个问题?

c# nuget rider

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

注销显示警告xamarin.forms

我一直在尝试允许用户使用DisplayAlert确认注销.如果他们点击"否",它应该保留在他们的个人资料页面中,否则他们应该被重定向回登录页面.我没有设法完成这项工作,如果我单击是或否,两个选项都保留在配置文件页面中

public async void LogoutBtn(object sender, EventArgs e)
{
    var answer = await DisplayAlert("Exit", "Do you wan't to exit the App?", "Yes", "No");
    if(answer.Equals("Yes"))
    {
        Settings.FirstName = string.Empty;
        Settings.LastName = string.Empty;
        Settings.Email = string.Empty;
        await Navigation.PushAsync(new MainPage());
    }
    else
    {
        App.Current.MainPage = new Profile();
    }
}
Run Code Online (Sandbox Code Playgroud)

xamarin xamarin.forms

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

C#格式化数字,空格分隔数千

我正在尝试使用以下要求格式化小数:

  • 成千上万的人被空格隔开""
  • 小数点由逗号","分隔(这是通过使用适当的文化来实现的,在本例中为克罗地亚语)
  • 小数点后有两位数.

到目前为止我得到了这个:

String.Format(new CultureInfo("hr-HR"), "{0:# ##0.00}", input)
Run Code Online (Sandbox Code Playgroud)

如果数字在小数点前有4位或更多位,则此方法很有效.例如,值5500.5给我"5 500,50",- 5500.5给我"-5 500,50",这就是我想要的.

但如果数字的位数较少,我会在数字前面留一个空格.例如500.5给了我"500,50"而不是"500,50".并且使用负数,空格位于减号和数字之间:-500.5给出" - 500,50".所以我不能简单地修剪结果.我怎样才能达到我的需要?

c# string-formatting

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

将WPF浏览器调整为HTML-Content

我想在WPF Browser控件中显示我的Flair 并将其调整为可能的最小尺寸.

XAML:

<Window x:Class="TestProject.MainWindow"
        [...]
        Title="MainWindow" 
        MaxHeight="500" 
        MaxWidth="500"
        Loaded="Window_Loaded"
        SizeToContent="WidthAndHeight" 
        Height="86.453" 
        Width="163.44">
<Grid>
    <WebBrowser x:Name="browser"></WebBrowser>        
</Grid>
Run Code Online (Sandbox Code Playgroud)

这是我的Code-Behind:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private string CreateHTML()
    {
        StringBuilder builder = new StringBuilder();
        builder.AppendLine("<!DOCTYPE html>");
        builder.AppendLine("<html>");
        builder.AppendLine("<body>");
        builder.AppendLine("<a href=\"http://stackexchange.com/users/5852250\">");
        builder.AppendLine("<img src=\"http://stackexchange.com/users/flair/5852250.png?theme=dark\" width=\"208\" height=\"58\" alt=\"profile for Felix D. on Stack Exchange, a network of free, community-driven Q&amp;A sites\" title=\"profile for Felix D. on Stack Exchange, a network of free, community-driven Q&amp;A sites\">");
        builder.AppendLine("</a>"); …
Run Code Online (Sandbox Code Playgroud)

html c# wpf webbrowser-control

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

WPF Datagrid 允许用户添加行

我想允许用户在数据网格中添加行。我知道 WinForms 中的 Datagridview,并且 Datagrid 的底部总是有一个空行,我可以用数据填充。

<DataGrid x:Name="dgv" 
          Grid.ColumnSpan="4" 
          Grid.Row="1" 
          CanUserAddRows="True" 
          CanUserDeleteRows="True" 
          SelectionUnit="FullRow" 
          AutoGenerateColumns="False" 
          ItemsSource="{Binding Entries}">
        <DataGrid.Columns>
            <DataGridComboBoxColumn Header="Anrede" Width="1*"></DataGridComboBoxColumn>
            <DataGridTextColumn Header="Vorname" Width="2*" Binding="{Binding Vorname}" />
            <DataGridTextColumn Header="Nachname" Width="2*" Binding="{Binding Nachname}" />
        </DataGrid.Columns>
    </DataGrid>
Run Code Online (Sandbox Code Playgroud)

背后代码:

public ObservableCollection<Mitreisender> Entries { get; }

public aufenthaltsWindow()
{
    InitializeComponent();
    Entries = new ObservableCollection<Mitreisender>();
}
Run Code Online (Sandbox Code Playgroud)

班上

public class Mitreisender
{
    public int MitreisenderID { get; set; }
    public Gast.AnredeTyp Anrede { get; set; }
    public string Titel { get; set; }
    public string Vorname { …
Run Code Online (Sandbox Code Playgroud)

c# wpf datagrid

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

理解这个delphi方法并将其转换为C#

谁能解释一下这个delphi代码在做什么?

我知道它正在转移一些但我没有达到目的..

function PKV_GetKeyByte(const Seed : Int64; a, b, c : Byte) : Byte;
    begin
        a := a mod 25;
        b := b mod 3;
        if a mod 2 = 0 then
            result := ((Seed shr a) and $000000FF) xor ((Seed shr b) or c)
        else
            result := ((Seed shr a) and $000000FF) xor ((Seed shr b) and c);
end;
Run Code Online (Sandbox Code Playgroud)

我如何将其转换为C#?

这是我到目前为止所得到的:

private byte PKV_GetKeyByte(Int64 seed, byte a, byte b, byte c)
{
    byte result;
    int aVal = a % …
Run Code Online (Sandbox Code Playgroud)

c# delphi bit-shift

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

.NET应用程序 - 如何隐藏依赖库的实现?

这可能是这个问题的重复,但我不想使用解决方案建议即使用Web服务.

这是场景:

1)我想向客户端公开一个类库.我们将其命名为"MyClassLibrary".

2)在"MyClassLibrary"项目的同一解决方案中还有两个库"Library1"和"Library2".

3)"Libray1"在"Library2"中引用,"Library2"在"MyClassLibrary"中引用.

4)"MyClassLibrary"中没有"Libray1"的直接引用.

我想要什么?

"MyClassLibrary"的客户端不能访问"Library1"中的类,方法.它有可能吗?如果我为"MyClassLibrary"创建nuget包,它将包含"Library1"(以及"Library2")的dll.因此,使用该DLL,客户端可以轻松访问"Library1"(以及"Library2")中的内容.我怎么能避免这种情况?我希望我的客户端只能访问"MyClassLibrary"中所需的函数,而不能访问"Library1"(可能还有"Library2").怎么做到这一点?

.net c# architecture class-library

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

尝试使用C#读取特定的Xml值

我是C#的新手.请帮我.

data.xml中

<?xml version="1.0" standalone="yes"?>
<DataSet1 xmlns="http://tempuri.org/DataSet1.xsd">
  <Language>
    <Id>001</Id>
    <English>"Welcome to India"</English>
    <German>"Willkommen in Indien"</German>
  </Language>
</DataSet1>
Run Code Online (Sandbox Code Playgroud)

如何阅读Id使用C#Xml的价值?我是C#的新手.请帮我.

我的努力:

XmlDocument doc = new XmlDocument();
XmlReader reader = XmlReader.Create(@"D:\data.xml");

while(reader.Read())
{
    reader.MoveToContent();
    if (reader.IsStartElement("DataSet1"))
    {
        reader.ReadToDescendant("Language");

        string str2 = reader.Name.ToString();
        MessageBox.Show(str2);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# xml visual-studio

0
推荐指数
1
解决办法
83
查看次数