我很少被添加到一个用户控件的新实例TabControl.ContentTemplate?
我的Xaml在这里:
<TabControl ItemsSource="{Binding Tables}">
<TabControl.ItemTemplate>
<DataTemplate>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate DataType="{x:Type uc:mytest1}">
<uc:mytest1>
</uc:mytest1>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
我绑定TabControl.ItemsSource属性ObservableCollection和在内容模板中我添加了一个用户控件,但是当这个应用程序运行时我得到新的项目,TabItem但内容页面持有相同的用户控件,但我想要添加新的用户控件每个新的TabItem.
我是WPF的新手,也许我正在做一个非常基本的错误,请指导我.
我向UIScrollView添加了10个按钮
for (int i=0; i<10; i++) {
UIButton *btn = ....
[ScrollView addSubview:btn];
}
Run Code Online (Sandbox Code Playgroud)
我怎么能参考每个按钮?
如何使用我在子类的父类中定义的函数?
例如,如果我使用类似下面的类
<?php
class mat
{
function square($x)
{
return $x *$x;
}
}
class matchild extends mat
{
function doublesquare($x)
{
return square($x) * square($x)
}
}
?>
Run Code Online (Sandbox Code Playgroud)
如果我尝试上面的操作,我会收到一个错误,说明没有定义方形函数.
答案和建议表示赞赏.
我有一个小的Ruby脚本,其中一个数组被初始化以保存一些字符串
MyArray = ["string 1", "string 2" , "string 2" ]
Run Code Online (Sandbox Code Playgroud)
问题是我在初始化列表中有很多字符串,我想打破这一行:
MyArray = [
"string 1"
,"string 2"
,"string 2"
]
Run Code Online (Sandbox Code Playgroud)
但Ruby标记了这种格式的语法错误我尝试在每行的末尾添加"\"而没有任何成功.
如何在Ruby中完成?
我正在开发一个框架扩展,它使用Ninject作为IoC容器来处理动态注入,但是我在尝试解决这个问题时遇到了一些麻烦.
我的框架的期望是你将传入,IModule(s)所以它可以很容易地在MVC,WebForms等中使用.所以我有这样的类结构:
public class NinjectFactory : IFactory, IDisposable {
readonly IKernel kernel;
public NinjectFactory(IModule[] modules) {
kernel = new StandardKernel(modules);
}
}
Run Code Online (Sandbox Code Playgroud)
这很好,我可以在单元测试中创建一个实例并传入一个基本实现IModule(使用InlineModule似乎建议用于测试的构建).
问题是,直到运行时我才知道需要注入的类型,并且通过我正在扩展的框架请求它们,在这样的方法中:
public IInterface Create(Type neededType) {
}
Run Code Online (Sandbox Code Playgroud)
这里是我难倒的地方,我不确定检查的最佳方式 - >创建(如果需要) - >返回,我到目前为止:
public IInterface Create(Type neededType) {
if(!kernel.Components.Has(neededType)) {
kernel.Components.Connect(neededType, new StandardBindingFactory());
}
}
Run Code Online (Sandbox Code Playgroud)
这将它添加到组件集合中,但是如果它创建了一个实例,或者我如何创建一个实例并传入参数,我就无法解决这个问题.ctor.
我是以正确的方式解决这个问题,还是Ninject甚至不打算以这种方式使用?
像phpMyAdmin必须作为Web应用程序安装以使用MySQL数据库,是否有可下载的程序可以连接到远程MySQL服务器来创建,读取,更新和删除数据库,表,列和行?
我最近一直在玩HttpWebRequests,在教程中他们总是这样做:
IAsyncResult result = request.BeginGetResponse(
new AsyncCallback(UpdateItem),state);
Run Code Online (Sandbox Code Playgroud)
但new AsyncCallback似乎并不是必要的.如果UpdateItem有正确的签名,那么似乎没有问题.那么人们为什么要包括它呢?它有什么用吗?
我为spring配置了事务支持.有没有办法记录事务只是为了确保我正确设置所有内容?在日志中显示是查看正在发生的事情的好方法.
我使用以下两种方法为.ttf字体文件生成文本预览图像
PIL方法:
def make_preview(text, fontfile, imagefile, fontsize=30):
try:
font = ImageFont.truetype(fontfile, fontsize)
text_width, text_height = font.getsize(text)
img = Image.new('RGBA', (text_width, text_height))
draw = ImageDraw.Draw(img)
draw.text((0, 0), text, font=font, fill=(0, 0, 0))
return True
except:
return False
Run Code Online (Sandbox Code Playgroud)
ImageMagick方法:
def make_preview(text, fontfile, imagefile, fontsize=30):
p = subprocess.Popen(['convert', '-font', fontfile, '-background',
'transparent', '-gravity', 'center', '-pointsize', str(fontsize),
'-trim', '+repage', 'label:%s' % text, image_file])
return p==0
Run Code Online (Sandbox Code Playgroud)
这两种方法大部分时间都会创建正确的预览图像,但在极少数情况下(<2%),font.getsize(文本)无法获得正确的文本大小,导致文本溢出提供画布.ImageMagick有同样的问题.
示例字体和预览:
HANFORD.TTF http://download.appfile.com/HANFORD.png
NEWTOW.TTF http://download.appfile.com/NEWTOW.png
MILF.TTF http://download.appfile.com/MILF.png
SWANSE.TTF http://download.appfile.com/SWANSE.png
我查看了ImageMagick的文档并找到了这个问题的解释 http://www.imagemagick.org/Usage/text/#overflow.
是否有可能检测到这样的文本溢出并绘制文本以符合我们预期的画布?