我有一个枚举(让我们说DemoEnum),我想解析这个枚举的值.我在写信
DemoEnum value;
if(DemoEnum.TryParse("input", out value))
{
this.Value = value;
}
Run Code Online (Sandbox Code Playgroud)
现在,resharper建议我使用基类限定符.
我只是想知道使用基类限定符有什么好处?
在上一篇文章中,我询问了如何将属性注册为DependencyProperty.我得到了答案,它工作正常.
但是现在我想在Click上为这个DependencyProperty添加一些Items.这不起作用.我注册DependencyProperty的代码是:
public static readonly DependencyProperty ChartEntriesProperty = DependencyProperty.Register(
"ChartEntries", typeof(ObservableCollection<ChartEntry>), typeof(ChartView),
new FrameworkPropertyMetadata(OnChartEntriesChanged));
private static void OnChartEntriesChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)
在从我的XAML绑定到我的c#-code时,调用OnChartEntriesChanged-Event.但是如果我之后添加ChartEntry(按下按钮),则不会触发事件.
有谁知道为什么?
我需要循环遍历编译时未知类型的列表.怎么做?以下代码在运行时失败,不允许转换:
Type objType = dataObject.GetType();
List<string> strList = new List<string>();
foreach (PropertyInfo prop in objType.GetProperties())
{
var val = prop.GetValue(dataObject);
if (prop.PropertyType.Name.StartsWith("List")) // Is there a better way?
{
foreach (object lval in (List<object>) val) // Runtime failure (conversion not allowed)
{
strList.Add(lval.ToString());
}
}
...
Run Code Online (Sandbox Code Playgroud) 我在面板中添加了几个表单。表单具有属性
form.TopLevel = false;
form.Parent = pnlMain;
Run Code Online (Sandbox Code Playgroud)
现在我想遍历 pnlMain 中的所有表单并关闭所有表单。为此,我有以下代码:
private void CloseForms()
{
foreach(Form form in pnlMain.Controls.OfType<Form>())
form.Close();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,并非所有表格都已关闭。
在一个有四个打开的表单的例子中:我计算了打开的表单,
int count = pnlMain.Controls.OfType<Form>().Count();
Run Code Online (Sandbox Code Playgroud)
当我调用 CloseForms 时,只有两个表单被关闭。另外两个在 CloseForms 的另一个调用中关闭。
如何只用一个电话关闭所有表格?
我有以下代码从我的FTP服务器读取项目:
internal List<FtpItem> OpenFolder(string folderName)
{
FtpWebRequest request = CreateFtpWebRequest("ftp://myserver.com", folderName);
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
List<FtpItem> ftpItems = GetFtpItemsFromRequest(request);
return ftpItems;
}
private List<FtpItem> GetFtpItemsFromRequest(FtpWebRequest ftpWebRequest)
{
List<FtpItem> ftpItems = new List<FtpItem>();
WebResponse webResponse = ftpWebRequest.GetResponse();
StreamReader reader = new StreamReader(webResponse.GetResponseStream());
string line = reader.ReadLine();
while (line != null)
{
ftpItems.Add(new FtpItem(line));
line = reader.ReadLine();
}
reader.Close();
webResponse.Close();
return ftpItems;
}
private FtpWebRequest CreateFtpWebRequest(params string[] url)
{
FtpWebRequest webRequest = (FtpWebRequest)WebRequest.Create(string.Join("/", url));
webRequest.KeepAlive = false;
webRequest.UseBinary = true;
webRequest.Credentials = this.networkCredential; …Run Code Online (Sandbox Code Playgroud) 我有一个带有一些类和方法的DLL.还有两个应用程序使用它.一个管理应用程序几乎需要每个方法,而客户端应用程序只需要部分内容.但是它们的大部分都被它们使用.现在我想用管理员的东西和一个与客户端的东西制作一个DLL.
对于这个问题,是否有比使用两个不同的DLL并在每次更改时手动编辑更好的方法?
我有一个带有a Window和a 的WPF应用程序UserControl.它UserControl是用MVVM-Pattern实现的.所以在视图中我有一个在ViewModel中Label显示string名为InfoMessage 的-property 的值.
在Window我加入这个实例UserControl通过
<views:ItemInfoView Grid.Row="3" Grid.Column="1" x:Name="itemInfoView"/>
Run Code Online (Sandbox Code Playgroud)
现在我想从我的XAML设置InfoMessage Window.目前我不知道如何在xaml中实现这一点.在代码隐藏中,我可以访问DataContext我的控件并将其转换为ItemInfoViewModel并设置值如:
((ItemInfoViewModel)itemInfoView.DataContext).InfoMessage = "Hello World";
Run Code Online (Sandbox Code Playgroud)
但我希望在纯XAML中有一种方法可以做到这一点.有谁知道这是否可能以及如何?
我想转换以下代码来处理3个以上的foreach级别.
internal static void CreateLevel(LevelObject levelObject)
{
foreach(LevelObject l1 in levelObject.LevelObjects)
{
foreach(LevelObject l2 in l1.LevelObjects)
{
foreach(LevelObject l3 in l2.LevelObjects)
{
AddEntities(l3);
}
AddEntities(l2);
}
AddEntities(l1);
}
}
Run Code Online (Sandbox Code Playgroud)
每个LevelObject都有一个子级对象集合,一组实体和一个父级对象.我需要这个将对象结构转换为过滤器.任何人都知道如何转换这个?
我想用两个半圆填充一个圆。一个在左侧,另一个在右侧。左侧的圆圈应为黑色,另一侧的圆圈应为蓝色。
我该如何实现这一目标?我尝试填充一个椭圆,然后在它的一半上绘制一个矩形。这适用于圆的一半。但对于另一半我有一个问题。
有什么想法如何绘制完整的圆吗?
我有一个文本文件,如:
<page>
Line 1
Hello World
<endpage>
<page>
Another page
<endpage>
Run Code Online (Sandbox Code Playgroud)
现在我想在<page>和<endpage>-tags 分割这个文本.我用以下正则表达式尝试了它:
Regex regex = new Regex(@"<page>.*?<endpage>");
MatchCollection matchCollection = regex.Matches(text);
Run Code Online (Sandbox Code Playgroud)
但这只有作用,如果<page>和之间没有换行符<endpage>.什么是正确的正则表达式来解决我的问题?