读完线程后SqlCommand.Dispose足够吗?和关闭和处置WCF服务,我琢磨类,如SqlConnection的或几类从Stream类继承它的问题,如果我收处置,而不是关闭的一个?
我创建了一个UserControl,类似于以下内容:
<UserControl>
<StackPanel Orientation="Vertical">
<StackPanel x:Name="Launch" Orientation="Horizontal" Visibility="Collapsed">
<!-- Children here -->
</StackPanel>
<ToggleButton x:Name="ToggleLaunch" IsChecked="False" Content="Launch" />
</StackPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用DataTrigger使"启动"StackPanel在检查ToggleButton时变得可见,否则保持折叠状态.但是,在运行时我收到一条错误,指出"失败的对象初始化(ISupportInitialize.EndInit).触发器集合成员必须是EventTrigger类型".我已经尝试将它添加到UserControl和StackPanel的触发器集合中但没有成功.我的触发器XAML如下所示:
<DataTrigger Binding="{Binding ElementName=ToggleLaunch, Path=IsChecked}" Value="True">
<Setter TargetName="Launch" Property="UIElement.Visibility" Value="Visible" />
</DataTrigger>
Run Code Online (Sandbox Code Playgroud) 在Silverlight 3.0应用程序中,我试图在画布中创建一个矩形,并使其拉伸画布的整个宽度.我试图通过绑定到ActualWidth
父容器的属性(下面的示例)来做到这一点,但是当我没有看到任何绑定错误时,该值没有被绑定.矩形不可见,因为其宽度为零.另外尝试绑定到ActualWidth
包含我的矩形的画布,但这没有区别.
我确实发现Microsoft Connect上记录了此错误,但没有列出变通方法.
有没有人能够解决这个问题,还是他们可以指出解决方案?
编辑:原始代码示例不准确我想要实现的目标,更新更清晰.
<UserControl>
<Border BorderBrush="White"
BorderThickness="1"
CornerRadius="4"
HorizontalAlignment="Center">
<Grid x:Name="GridContainer">
<Rectangle Fill="Aqua"
Width="150"
Height="400" />
<Canvas>
<Rectangle Width="{Binding Path=ActualWidth, ElementName=GridContainer}"
Height="30"
Fill="Red" />
</Canvas>
<StackPanel>
<!-- other elements here -->
</StackPanel>
</Grid>
</Border>
</UserControl>
Run Code Online (Sandbox Code Playgroud) 我想知道如何在MVVM模式中使用View Models进行继承.在我的应用程序中,我有一个类似于以下内容的数据模型:
class CustomObject
{
public string Title { get; set; }
}
class CustomItem : CustomObject
{
public string Description { get; set; }
}
class CustomProduct : CustomItem
{
public double Price { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的应用程序中,我有一个ViewModelBase类,然后将有以下View Models:
CustomObjectViewModel的粗略实现类似于以下内容:
class CustomObjectViewModel : ViewModelBase
{
private readonly CustomObject _customObject;
public CustomObjectViewModel( CustomObject customObject )
{
_customObject = customObject;
}
public string Title
{
// implementation excluded for brevity
}
}
Run Code Online (Sandbox Code Playgroud)
对我来说似乎合乎逻辑的是,我的视图模型将以与我的模型相同的方式扩展自己(CustomItemViewModel扩展CustomObjectViewModel等等).但是,我注意到,当我继承继承树时,我将添加对同一对象的其他引用.这对我来说似乎相当过分,并且想知道如何处理这个问题以及是否有可能使它更清洁.
我正在尝试购物车的内容ItemsControl(ListBox)
.为此,我创建了以下内容DataTemplate
:
<DataTemplate x:Key="Templates.ShoppingCartProduct"
DataType="{x:Type viewModel:ProductViewModel}">
<DockPanel HorizontalAlignment="Stretch">
<TextBlock DockPanel.Dock="Left"
Text="{Binding Path=Name}"
FontSize="10"
Foreground="Black" />
<TextBlock DockPanel.Dock="Right"
Text="{Binding Path=Price, StringFormat=\{0:C\}}"
FontSize="10"
Foreground="Black" />
</DockPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)
然而,当物品显示在我的购物车中时,名称和价格TextBlocks
正好位于彼此旁边,并且右侧有非常大量的空白.
想知道什么是强迫DockPanel
伸展以填充所有可用空间的最佳方法ListItem
?
我有一个查询,我希望检索最旧的X记录.目前我的查询类似于以下内容:
SELECT Id, Title, Comments, CreatedDate
FROM MyTable
WHERE CreatedDate > @OlderThanDate
ORDER BY CreatedDate DESC
Run Code Online (Sandbox Code Playgroud)
我知道通常我会删除'DESC'关键字以切换记录的顺序,但在这种情况下,我仍然希望获得最新项目的记录.
所以我想知道是否有任何方法可以执行此查询,以便我将最旧的X项目排序,以便最新的项目是第一个.我还应该补充一点,我的数据库存在于SQL Server 2005上.
我正在使用Xcode 4,在Build Settings中,所有下拉列表都已消失.
我没有下拉列表,而是有文本框.
看到这个图像,例如:
我很困惑:如何再次启用下拉列表?
我正在尝试在使用MVVM模式构建的Surface应用程序中实现拖放功能.我在努力想出一种在坚持MVVM模式的同时实现这一目标的方法.虽然我试图在Surface应用程序中执行此操作,但我认为该解决方案通用性足以应用于WPF.
我正在尝试生成以下功能:
整体交互非常类似于Surface SDK中提供的ShoppingCart应用程序,除了源对象包含在ScatterView而不是ListBox中.
我不确定如何继续以便在我的ViewModel之间进行正确的通信以提供此功能.我遇到的主要问题是当用户联系FrameworkElement时复制ScatterViewItem.
如何使用绑定来编辑类的属性,并在对话框中使用OK-Cancel?
我的第一个想法是:
public partial class EditServerDialog : Window {
private NewsServer _newsServer;
public EditServerDialog(NewsServer newsServer) {
InitializeComponent();
this.DataContext = (_newsServer = newsServer).Clone();
}
private void ButtonClick(object sender, RoutedEventArgs e)
{
switch (((Button)e.OriginalSource).Content.ToString()) {
case "OK":
_newsServer = (NewsServer)this.DataContext;
this.Close();
break;
case "Cancel":
this.Close();
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在交换机中,情况"OK",DataContext包含正确的信息,但最初传递的NewsServer实例不会更改.
.net ×5
wpf ×5
c# ×2
mvvm ×2
actualwidth ×1
autosize ×1
data-binding ×1
datatrigger ×1
dockpanel ×1
ios4 ×1
iphone ×1
pixelsense ×1
silverlight ×1
sql ×1
sql-server ×1
t-sql ×1
xcode ×1