我正在使用Sql Server 2008 R2 Enterprise.我正在编写一个能够插入,更新,删除和从Sql表中选择记录的应用程序.当涉及到包含特殊字符(如ć,čš,đ和ž)的记录时,应用程序会出错.
这是发生的事情:
命令:
INSERT INTO Account (Name, Person)
VALUES ('Boris Borenovi?', 'True')
WHERE Id = '1'
Run Code Online (Sandbox Code Playgroud)
插入一个新记录,但名称字段是Boris Borenovic,所以字符?更改为c.
命令:
SELECT * FROM Account
WHERE Name = 'Boris Borenovi?'
Run Code Online (Sandbox Code Playgroud)
返回正确的记录,所以再次?替换字符c并返回记录.
问题:
?其他特殊字符?Boris Borenovi?记录,即使查询要求Boris Borenovic?因此,在保存记录时,我希望Sql能够准确地保存所给出的内容,但是在检索记录时,我希望它能够使用特殊字符.谢谢你的帮助.
首先,这是上ListBox一篇文章,它处理ObservableCollection<Account>从AccountsCollection.cs类中绑定到我的帐户的AccountListBox数据.
所以现在我有一个绑定对象AccountsCollection和一个名为AccountTemplate的DataTemplate,用于我在资源中定义的ListBox:
<Window.Resources>
<controller:AccountsWindowController x:Key="AccountsCollection" />
<DataTemplate x:Key="AccountTemplate">
<DockPanel>
<Button Name="EditButton"
DockPanel.Dock="Right"
Margin="3 0 3 0"
VerticalAlignment="Center"
Content="Edit" />
<Button Name="DeleteButton"
DockPanel.Dock="Right"
Margin="3 0 3 0"
VerticalAlignment="Center"
Content="Delete" />
<TextBlock Name="AccountName"
VerticalAlignment="Center"
Text="{Binding Name}"
TextWrapping="NoWrap"
TextTrimming="CharacterEllipsis" />
</DockPanel>
</DataTemplate>
<Window.Resources>
Run Code Online (Sandbox Code Playgroud)
以下是与LisBox本身相关的代码:
<ListBox Name="AccountsListBox"
Margin="12,38,12,41"
HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ItemsSource="{Binding Accounts,
Source={StaticResource ResourceKey=AccountsCollection}}"
ItemTemplate="{StaticResource ResourceKey=AccountTemplate}"
MouseDoubleClick="AccountsListBox_MouseDoubleClick">
</ListBox>
Run Code Online (Sandbox Code Playgroud)
我希望我的列表能够通过起始字母对所有帐户进行分组,并在列表中显示该字母(我也想将一些设计应用于该字母标题).最终结果应该是这样的:

感谢您的帮助!
更新:这是成功实现分组的代码.
<Window x:Class="Gui.Wpf.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:entities="clr-namespace:Entities.Accounts;assembly=Entities"
xmlns:contollers="clr-namespace:Gui.Wpf.Controllers"
xmlns:converters="clr-namespace:Gui.Wpf.Converters"
xmlns:componentModel="clr-namespace:System.ComponentModel;assembly=WindowsBase"
Title="MainWindow"
Width="525"
Height="350" > …Run Code Online (Sandbox Code Playgroud) 我使用WPF为随机应用程序开发了一个GUI.我在应用程序窗口中放置了一堆开箱即用的WPF控件.我没有定制任何东西,没有使用位图等.
当在Windows 7中运行我的应用程序并使用放大镜应用程序进行缩放时(Win key + Plus key放大的GUI显示像素.我可能错了,因为我不能解释它,但是不是WPF应该提供像控件渲染一样的矢量?
感谢您参与讨论.
如果我有一个javascript 文件:
var myVariable = "Awesome variable";
Run Code Online (Sandbox Code Playgroud)
和另一个javascript 文件:
function printMyVariable() {
document.writeln(myVariable);
}
Run Code Online (Sandbox Code Playgroud)
该printMyVariable方法能够识别myVariable吗?我的猜测是"否",因为myVariable范围在第二个javascript文件中无法识别.所以,我想知道是否有人可以向我解释如果可能的话,需要做些什么来使魔术发生.:)
谢谢.
我创建了一个类Account.
接下来,我创建了另一个ReorderWindowController具有SelectedAccount类型的字段/属性的类Account.
最后,我编写了ReorderWindowWPF窗口xaml文件:
<Window ...
<Window.Resources>
<contollers:ReorderWindowController x:Key="WindowController" />
<DataTemplate DataType="{x:Type entities:Account}">
<Grid Width="140" Height="50" Margin="5">
<TextBlock Text="Some awesome text" />
<TextBlock Text="{Binding Name}" />
<TextBlock Text="Even more awesome text" />
</Grid>
</DataTemplate>
</Window.Resources>
<Grid>
<Grid
Name="AccountGrid"
DataContext="{Binding Source={StaticResource ResourceKey=WindowController},
Path=SelectedAccount}">
</Grid>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
当我运行我的代码时,AccountGrid没有显示任何内容.为什么?如何将对象数据绑定到,Grid以及如何使用我的数据模板?谢谢.
我想设计一个自定义项目控制面板ListBox.有3个要求:
它应该具有属性int rows,int columns并且将定义由面板构成的单元矩阵.这就是面板应该是什么样子(颜色是无关紧要的,我只想表明该面板由3x4矩阵中的12个空单元组成):

如果项目控件中的项目数小于已定义单元格的数量,则应绘制所有单元格.例如,如果图片中显示的3x4矩阵中只放置了4个项目,则应绘制所有单元格,其中只有4个应包含项目.
应该可以通过一些数据绑定来设置哪个单元将托管哪个项目.例如,假设我有一份人员名单.这份名单包含类型的项目Person和Person类包含两个属性X和Y.我应该能够将数据绑定X到row细胞,并Y在column细胞外,从而使自己设定的哪个单元面板将包含从列表中哪个人.
如果创建项目控制面板没有意义,请建议什么是更好的方法.说实话,我很困惑如何开始这个.谢谢你的帮助.干杯!
我已经在很多地方读到过它.大多数人都指的是这两个链接:
我不明白他们中的任何一个.对于MVVM,我是初学者.有些人在MVVM中提到窗口操作时会提到控制器.这些是什么以及如何实施?通过本书,MVVM由模型,视图模型和视图组成 - 控制器在哪里进入?
如果有人可以提供以下用例的样本,那就太棒了(对于那些刚开始使用这个用户的人来说,就像我一样):
我正在使用MVVM Light.我创建了一个如下所示的窗口:
<Window Name="MainWindow" ...>
<Window.Resources>
...
<viewModels:MainViewModel x:Key="mainVM" />
...
<BooleanToVisibilityConverter x:Key="visConv" />
...
</Window.Resources>
<Grid DataContext="{StaticResource mainVM}>
...
<Button Command="{Binding RaiseMyControl}" />
...
<my:MyUserControl Visibility="{Binding MyControlVisible,
Converter={StaticResource visConv}}" />
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)
所以基本上,它MainViewModel是窗口的视图模型类.它包含:
bool MyControlVisible其被绑定到属性MyUserControl的Visibility
属性RelayCommand RaiseMyControl命令的目的是将MyControlVisible属性的值设置
为true(默认为false).单击窗口中的按钮会导致MyUserControl- 简单的外观.
MyUserControl 用户控件如下所示:
<UserControl ...>
<UserControl.Resources>
...
<viewModels:MyUserControlViewModel x:Key="userControlVM" />
...
</UserControl.Resources>
<Grid DataContext="{StaticResource userControlVM}>
...
<Border Width="200" Height="100" Background="Red">
<TextBlock Text="{Binding MyUserControlText}" />
</Border>
<!-- …Run Code Online (Sandbox Code Playgroud) 我创建了一个用户控件:
<UserControl ...>
<Grid DataContext="{Binding UserContrlViewModel>
<Grid Width="200" Height="100" RenderTransformOrigin="0.5,0.5">
<Grid.Resources>
<Storyboard x:Key="zoomIn">
<DoubleAnimation
Storyboard.TargetProperty="ScaleTransform.ScaleX"
From="0"
To="1"
Duration="0:0:1" />
<DoubleAnimation
Storyboard.TargetProperty="ScaleTransform.ScaleY"
From="0"
To="1"
Duration="0:0:1" />
</Storyboard>
</Grid.Resources>
<Grid.RenderTransform>
<ScaleTransform />
</Grid.RenderTransform>
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsActive}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<StaticResource ResourceKey="zoomIn" />
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
<TextBlock Width="60" Text="Input" />
<TextBox Width="80" Margin="80,0,0,0" />
</Grid>
...
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是,当IsActive用户控件的视图模型类的属性设置为 时true,zoomIn运行动画。这个动画应该放大网格,里面有它的内容。当我触发动画时,我收到以下错误消息:
无法解析属性路径“ScaleTransform.ScaleX”中的所有属性引用。验证适用对象是否支持这些属性。
我的动画有什么问题?我应该如何实现所描述的放大动画?谢谢。
我有一个左浮动 div,用作侧边栏(红色)。旁边还有另一个div,用于存储页面内容(绿色)。内容 div 内的元素保持浮动(蓝色)。
当浏览器宽度太小而无法容纳它们时,我希望能够水平滚动这些框;例如,如果有很多盒子。相反,内容 div 移动到侧边栏 div 下方,并且我正在滚动整个页面。
这是浏览器窗口足够宽时的页面布局:

这是 HTML:
<div id="container">
<div id="sidebar">Sidebar</div>
<div id="content">
<p class="box">Box 1</p>
<p class="box">Box 2</p>
<p class="box">Box 3</p>
</div>
<div style="clear: both;"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是 CSS:
* {
margin: 0px;
padding: 0px;
}
#container {
background: yellow;
}
#sidebar {
float: left;
background: red;
}
#content {
float: left;
white-space: nowrap;
background: green;
}
.box {
width: 200px;
height: 250px;
background: blue;
margin: 10px;
float: left;
}
Run Code Online (Sandbox Code Playgroud)
请帮助我理解我做错了什么。谢谢。
wpf ×7
xaml ×3
mvvm ×2
animation ×1
binding ×1
css ×1
data-binding ×1
grid ×1
html ×1
itemscontrol ×1
itemtemplate ×1
javascript ×1
listboxitem ×1
magnify ×1
sql ×1
sql-server ×1
zooming ×1