我试图绑定List<AreaField>到转发器.我已经使用该ToArray()方法将列表转换为数组,现在有一个数组AreaField[]
这是我的班级层次结构
public class AreaFields
{
public List<Fields> Fields { set; get; }
}
public class Fields
{
public string Name { set; get; }
public string Value {set; get; }
}
Run Code Online (Sandbox Code Playgroud)
在aspx中,我想绑定一个转发器(类似这样)
DataBinder.Eval(Container.DataItem, "MyAreaFieldName1")
Run Code Online (Sandbox Code Playgroud)
MyAreaFieldName1是AreaFieldItem类中Name属性的值.
我有一个UserControl基本上这样的包装ListBox-
<ListBox x:Name="lb" ItemsSource="{Binding ElementName=UC,Path=Pages}"
Background="{Binding ElementName=UC,Path=Background}"
BorderBrush="Transparent"
ScrollViewer.CanContentScroll="False"
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Disabled">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" IsItemsHost="True"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ElementName=UC,Path=ActualWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="20"/>
<ColumnDefinition/>
<ColumnDefinition MinWidth="20"/>
</Grid.ColumnDefinitions>
<ContentPresenter Grid.Column="1" Content="{Binding}"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我需要设置FocusVisualStyle来{x:Null}隐藏这个功能,但无论在哪里应用它,我仍然得到默认的蓝色选择颜色.我已经尝试在ListBox,StackPanel和Grid上设置它,但无济于事.
任何帮助都会很棒.谢谢.
我想这是一个简单的问题,但是我现在的代码得到了一些奇怪的结果,我没有数学背景来完全理解为什么.我的目标很简单,正如标题中所述:我只想找到距离中心点一定距离和角度的点.
我目前的代码:
Point centerPoint = new Point ( 0, 0 );
Point result = new Point ( 0, 0 );
double angle = 0.5; //between 0 and 2 * PI, angle is in radians
int distance = 1000;
result.Y = centerPoint.Y + (int)Math.Round( distance * Math.Sin( angle ) );
result.X = centerPoint.X + (int)Math.Round( distance * Math.Cos( angle ) );
Run Code Online (Sandbox Code Playgroud)
一般来说,这似乎相当合理,但我在各个点都遇到问题,最明显的是当角度对应于负x轴和y轴的点时.显然我做错了什么 - 想一想是什么?
更新:这是我的错误,这段代码工作正常 - 少数不起作用的异常值实际上是由于如何计算1.5PI的角度的错误.我以为我已经检查得那么好,但显然没有.感谢大家的时间,希望上面的工作代码对其他人有用.
为什么list.index抛出异常,而不是使用任意值(例如-1)?这背后有什么想法?
对我而言,处理特殊价值而非例外情况看起来更清晰.
编辑:我没有意识到这-1是一个潜在有效的价值.不过,为什么不是别的呢?无价值怎么样?
我收到的数据表示服务中的时隙作为字符串形式:
1500-1600
这意味着下午3点到4点.
我将列出这些例如
1200-1300
1300-1400
1400-1500
我必须在UI中表示这一点
中午12点至下午1点
下午1点到2点
下午2点 - 下午3点
不幸的是,这个列表可能是随机顺序.
我的问题是有没有办法使用DateTime对象能够将24小时时间转换为12小时时间,还有一种方法可以按顺序排序时间吗?
目前我觉得我将不得不编写一个自定义解析函数,但想知道是否有人知道如何更好地做到这一点?或者可以建议如何实现这一目标.
我编写了一些应该将文件写入临时目录的代码,然后将其复制到永久位置,但发现这样做会在复制命令上创建与权限相关的错误.代码如下所示:
string tempPath = Path.GetTempFileName();
Stream theStream = new FileStream(tempPath, FileMode.Create);
// Do stuff.
File.Copy(tempPath, _CMan.SavePath, true);
File.Delete(tempPath);
Run Code Online (Sandbox Code Playgroud)
我朦胧地记得我可以在指定的目录中创建一个API调用,作为参数传递.但是,从我的VB 6天来看,这是一个微弱的记忆.
那么,如何在Windows定义的临时目录以外的目录中创建临时文件?
我只是想简化我的一个类,并引入了一些与flyweight设计模式相同的功能.
但是,我有点困惑,为什么__init__总是被称为__new__.我没想到这个.任何人都可以告诉我为什么会这样,以及我如何能够实现这个功能呢?(除了将实施放入__new__感觉相当hacky之外.)
这是一个例子:
class A(object):
_dict = dict()
def __new__(cls):
if 'key' in A._dict:
print "EXISTS"
return A._dict['key']
else:
print "NEW"
return super(A, cls).__new__(cls)
def __init__(self):
print "INIT"
A._dict['key'] = self
print ""
a1 = A()
a2 = A()
a3 = A()
Run Code Online (Sandbox Code Playgroud)
输出:
NEW
INIT
EXISTS
INIT
EXISTS
INIT
Run Code Online (Sandbox Code Playgroud)
为什么?
我想在页面加载时使我的RadGrid的项目可编辑.我在这里尝试了两种方法http://www.telerik.com/help/aspnet/grid/grddefaulteditmodeforgriditemsoninitialload.html 但是没有任何效果.
例如,下面显示的第二个方法,其中在ItemCreated事件上设置了Edit属性,导致编辑模式设置为true(由调试器验证),但它在显示页面时对结果没有影响.
任何人都有任何想法,我做错了什么?
protected void RadGrid1_ItemCreated(object sender, Telerik.WebControls.GridItemEventArgs e)
{
if (!Page.IsPostBack && e.Item is GridEditableItem)
{
e.Item.Edit = true;
}
}
Run Code Online (Sandbox Code Playgroud) 我知道我以前做过这个,但我似乎无法记住在哪里或如何.
我想在Sitecore中创建一个Item的链接.这段代码:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();
Run Code Online (Sandbox Code Playgroud)
生成以下字符串:
http://localhost/sitecore/content/Home/Item1/Item11/thisItem
Run Code Online (Sandbox Code Playgroud)
我想要这个字符串:
http://localhost/Item1/Item11/thisItem.aspx
Run Code Online (Sandbox Code Playgroud)
获取项目路径的正确方法是什么?在这种情况下,我无法使用正常的Sitecore链接:
Sitecore.Web.UI.WebControls.Link
Run Code Online (Sandbox Code Playgroud) Assembly和DLL有什么区别?在将代码发送到远程客户端时,是应该发送DLL文件还是应该发送程序集(当两者之间有直接TCP连接时)?