在我的用户控件中,我有一个按钮,单击该按钮将引发自定义路由事件.我试图提高它,但它不会在MainWindow.xaml中被触发.
用户控件中按钮的Xaml:
<Button x:Name="PART_Add" Content="+" Grid.Column="3" Margin="0,0,0,0" Style="{DynamicResource dTranspButton}" Click="btnAdd_Click"/>
Run Code Online (Sandbox Code Playgroud)
UserControl C#代码:
//AddClick Event
public static readonly RoutedEvent AddClickEvent = EventManager.RegisterRoutedEvent("AddClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(dCB_Props));
public event RoutedEventHandler AddClick
{
add { AddHandler(AddClickEvent, value); }
remove { RemoveHandler(AddClickEvent, value); }
}
void RaiseAddClickEvent()
{
RoutedEventArgs newEventArgs = new RoutedEventArgs(dCB_Props.AddClickEvent);
}
protected void OnAddClick()
{
RaiseAddClickEvent();
}
//objects events
private void btnAdd_Click(object sender, System.Windows.RoutedEventArgs e)
{
RaiseAddClickEvent();
}
Run Code Online (Sandbox Code Playgroud)
MainWindow.xaml中UserControl实例的Xaml代码:
<local:dCB_Props x:Name="cb1" Margin="41.166,0,36.19,25" VerticalAlignment="Bottom" Height="30" Width="141" AddClick="dCB_Props_AddClick">
<local:dCB_Props.Items>
<ComboBoxItem Content="item1"/>
</local:dCB_Props.Items>
</local:dCB_Props>
Run Code Online (Sandbox Code Playgroud)
应该在MainWindow.xaml.cs中触发的C#代码: …
我正在尝试加密和解密文本,有时,特别是对于较大的文本,随机字符出现在解密的文本中.我在System.Security.Cryptography命名空间内使用AES加密技术,我正在尝试加密的文本将是一个URL和一些信息,例如页面标题.我在下面提供了一个例子以及我尝试过的内容.我还编写了两种加密和解密方法,减去输出到调试窗口的任何行.使用的Key和IV应该不是问题,因为现在它们将是不变的.
我认为明智的做法是指出它18/01/2013;18/01/2013在预期的单独事件中加密和解密.
说我想解密这个文本:
Barnabe Googes Information & Homepage | Search and Research on BarnabeGooge.com;18/01/2013;18/01/2013;;http://www.googe.com
默认情况下,它使用UTF-8,它将加密为:
?????????????????????????????????????????????????????????????????
并解密回:
Barnabe Googes Information & Homepage | Search and Research on B???Ax2?!??f?M]18/01/20?;18/01[?;>??l?????m??*-??+??^A[=?
Padding.Zeros似乎是最好的.我也不能使用,Padding.None因为它抛出了NotSupportedException: bad data length.ModeCBC(不是它应该重要).WebUtility.HtmlDecode()解码标题,但它并没有影响它.您可以看到,下面的加密使用AES加密.我想指出,key并且IV这两个全局字符串与加密和解密方法在同一个类中.我这样做的原因是乱搞不同的编码,并且CryptographyServiceProviders,如果偶然的随机变化有效.请忽略它们,因为它们是不变的,不会影响最终的加密/解密.
public static byte[] EncryptStringToBytes(string plainText, Encoding Enc)
{
if (plainText == null || plainText.Length <= 0)
throw new ArgumentNullException("plainText"); …Run Code Online (Sandbox Code Playgroud)