可能我只是遗漏了一些明显的东西,但我无法将我的DataTemplate中的图像与Grid中的右侧对齐,因此当窗口拉伸时,图像也会"拉"到右侧:
<Window.Resources>
<DataTemplate x:Key="PersonTemplate" DataType="Minimal.Client.Person">
<Border BorderBrush="Purple" BorderThickness="2" CornerRadius="2" Padding="5" Margin="5">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" MinWidth="200"/>
<ColumnDefinition Width="Auto" MaxWidth="200"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column ="0" Orientation="Horizontal" >
<TextBlock FontFamily="Verdana" FontSize="16" FontWeight="Bold" Text="{Binding LastName}" />
<TextBlock FontFamily="Verdana" FontSize="16" Text=", " />
<TextBlock FontFamily="Verdana" FontSize="16" Text="{Binding FirstName}" />
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Vertical" HorizontalAlignment="Right">
<Border BorderBrush="Black" BorderThickness="1">
<Image Source="{Binding Picture}" Width="180" Height="150" />
</Border>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</Window.Resources>
Run Code Online (Sandbox Code Playgroud)
有什么建议?
什么是更快,我应该牺牲Linq标准来实现速度(假设字典查找真的更快)?那么让我详细说明一下:
我有以下内容:
List<Product> products = GetProductList();
Run Code Online (Sandbox Code Playgroud)
我需要根据某些属性搜索产品,例如序列号.我可以先创建一个字典,然后填充如下:
Dictionary<string, Product> dict = new Dictionary<string, Product>();
foreach(Product p in products)
{
dict.Add(p.serial, p);
}
Run Code Online (Sandbox Code Playgroud)
在找到产品的时候,利用字典查找提供的O(1):
string some_serial = ...;
try { Product p = dict[some_serial]; } catch(KeyNotFoundException) { }
Run Code Online (Sandbox Code Playgroud)
或者,使用Linq:
Product p = products.Where(p => p.serial.Equals(some_serial)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
Dict方法的缺点当然是这需要更多的内存空间,更多的代码来编写,更不优雅等等(尽管这大部分是有争议的).假设这是非因素.我应该采取第一种方法吗?
最后,我想确认上面的Linq方法的复杂性是否确实是O(n),我不知道它是如何更好的.
我已经读过Objective-C没有类级别属性的地方,但是通过声明类似的东西(在类接口之前)可以实现相同的目的:
static NSInteger initCount;
Run Code Online (Sandbox Code Playgroud)
我正在使用initialize方法将变量初始化为零:
// interface
+ (void) initialize;
// implementation
+ (void) initialize {
initCount = 0;
}
Run Code Online (Sandbox Code Playgroud)
在创建实例/ dealloc'd时递增/递减:
- (id) init {
self = [super init];
initCount++;
return self;
}
- (void) dealloc {
[name release];
initCount--;
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
但XCode一直警告我"'initCount'定义但未使用".
有没有办法解决这个问题,还是应该忽略警告?
我现在很想写下面的内容:
public class Class1()
{
public Class1()
{
MyProperty = new Class2(this);
}
public Class2 MyProperty { get; private set; }
}
public class Class2()
{
public Class2(Class1 class1)
{
ParentClass1 = class1;
}
public Class1 ParentClass1 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
将"this"作为参数传递给设计问题的标志?什么是更好的方法?
我已经读过OSGI每个模块使用单独的类加载器,它允许模块使用不同版本的依赖项.同时在同一个JVM中运行所有模块.
这是如何运作的?如果模块A使用依赖关系的版本#1而模块B使用版本#2,如果模块A将依赖关系类的实例作为方法参数传递给模块B,则不会遇到麻烦吗?
如果它期望与依赖类的不同接口,我认为模块B会窒息.
我正在尝试诊断特定查询对SQLite的速度慢的原因.似乎有很多关于查询优化器如何工作的信息,但关于如何实际诊断问题的信息很少.
特别是,当我分析数据库时,我得到了预期的sqlite_stat1表,但我不知道stat列告诉我什么.示例行是:
MyTable,ix_id,25112 1 1 1 1
Run Code Online (Sandbox Code Playgroud)
"25112 1 1 1 1"究竟是什么意思?
作为一个更广泛的问题,有没有人有关于诊断SQLite查询性能的最佳工具和技术的任何好资源?
谢谢
我正在寻找Head First Servlets和JSP旁边的另一本书.Head First的书并没有真正吸引我,因为它太多的理论和问题/考试目标.
我正在寻找一些与RailSpace相关的东西:使用Ruby on Rails构建一个社交网站.有些东西涉及我编写大量代码,并会"唤醒我"一个真实世界的Web应用程序项目.这可能要求很多,但你得到我的方向:)答案非常感谢.
我有map.resources :posts,我希望能够以降价格式提供邮寄机构.所以我设置了我的respond_to块:
respond_to do |format|
format.markdown {
render :text => @post.body.to_s
}
end
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问时/posts/1234.markdown,我收到此错误:
NameError (uninitialized constant Mime::MARKDOWN):
app/controllers/posts_controller.rb:96:in `show'
app/controllers/posts_controller.rb:79:in `show'
Run Code Online (Sandbox Code Playgroud)
如何将降价添加为可接受的格式?我在哪里可以看到可接受格式的列表?
我有一个标签绑定到滑块的值.
Content="{Binding Path=Value, ElementName=Slider}"
Run Code Online (Sandbox Code Playgroud)
如何附加百分比符号?滑块的值已经正确格式化,因此当值为"50"时,我需要的只是"50%".
我知道如何在代码中执行此操作,但我希望在xaml中完成此操作而不创建转换器.TIA