ブログ

割とコンピュータよりの情報をお届けします。

Year 2018

WPF フォーカスが当たったらForeground Backgroundを変更するTextBox

WPF
 フォーカスが当たったらForeground Backgroundを変更するTextBoxを作るのに苦労した。

XAMLは知っている人にとっては便利かと思われるが,
やりかたを試行錯誤するとこ4時間。

非常に苦労した。

フォーカスが当たると
Foreground
Backgroundを変更するTextBoxのスタイル例。

<Window.Resources>
    <Style x:Key="test" TargetType="{x:Type TextBox}">
        <Style.Triggers>
            <Trigger Property="IsFocused" Value="true">
                <Setter Property="Foreground" Value="Red"/>
                <Setter Property="Background" Value="Black"/>
            </Trigger>
        </Style.Triggers>
    </Style>
<Window.Resources>

<TextBox Grid.Row="2" Style="{StaticResource test}" HorizontalAlignment="Right" Text="2093j" FontSize="30"></TextBox>

≫ Read More

2018/06/13   TakeMe

WPF TextBoxのControlTemplateの設定難しい

WPFのTextBoxのControlTemplateは一部だけいれてOverridesDefaultStyleできるのかと思っていた。

WPFのTextBoxのControlTemplateは一部だけいれてOverridesDefaultStyleを記述してしまうとコントロールが消えてしまった。

マイクロソフトのページにはTextBox ControlTemplate の例があって,
「コントロールのビジュアル ツリーを変更するには、コントロールの Template プロパティをその新しい完全な ControlTemplate に設定する必要があります。」

XAMLはいったんきまるとWindows Formsより更新の不具合が少ないが,決まるまで難しい。(慣れていない)

≫ Read More

2018/06/09 コンピュータ   TakeMe

jCanvasのイベントに苦労2

jCanvasのイベントの設定にまたはまってしまった。

普通にjCanvasではmouseoverなどのイベントが設定できるとあったのでまえのように
<script>
$('#image').drawRect({
  layer: true,
  fillStyle: '#000',
  x: 10, y: 100,
  width: 200,
  height: 100,
  fromCenter: false,
  mouseover: function(layer) {
    alert("test");
  }
});
</script>
とやって解決していたが,これが複数ある場合には,layer: trueを設定していないものがイベント後に消える被害が発生することがあった。
なんとも回避できなくて,すべての項目にlayerを設定する必要が出てくる。

≫ Read More

2018/06/08 コンピュータ   TakeMe

WiX Toolsetの使い方間違えた

WiX Toolsetを使ってインストーラを作っていたら使い方を間違えていた。

ProductのIdが同じでUpgradeCodeを変えるとアップグレードインストールできると思っていたので毎回UpgradeCodeを更新していた。

どうも使い方が間違っていた。そんなことをしてもアップグレードインストールはできない。

アップグレードの仕方をUpgradeタグで設定できることも分かった。

適切な利用には勉強が必要だ

≫ Read More

2018/06/05 コンピュータ   TakeMe

Program Filesの中のファイル編集失敗

WixToolsetでインストーラを作って,Program Filesにファイルをインストールすることをやっていた。

中のファイルをメモ帳で編集すると,…
編集できていそうに見えてもできていない。

最近のWIndowsでは,Program Filesの中のファイルを編集しようとしても通常はできないことは詳しい人なら当たり前になっている。

注意しなければならないのは,編集が一見成功しているように見えるということだ。

どういうことかというと,編集したメモ帳(もちろん管理者として実行している)で保存された(つもりの)ファイルを開くと編集後の状態で開かれることがあるのだ。

しかし,Windows サービスなどの設定ファイルがProgram Filesの中に入っていたら,そのファイルは編集されていないことになり,サービスの設定変更も反映されない。

わかりにくい…

(追記 2018.06.03)

手動で編集されることは想定されているが編集されたユーザーにとってのみ変更が有効になる。

他のユーザーにとっては変更されない。(リンク先にもあるが,ユーザ権限や設定,開くアプリケーションやファイルの種類によっては変更される場合もあるようだが,ハマると厄介な仕様である)

Windowsサービスの場合それを実行するユーザを変更する必要があるかもしれない。

≫ Read More

2018/06/02 コンピュータ   TakeMe

IPv6への対応...

サイトをIPv6へ対応させた。設定はリンクを参考にした。

ConoHaの場合には標準でIPv6対応を謳ってはいるが,ひとつ前のUbuntuでufwを使用した場合には使えなくなる不具合が発生しているようだ。

この辺は設定で回避できれば良いのだがわからないので,参考に従い変更して再起動した。

#iface ens3 inet6 dhcp 最初は1行だったところを変更
iface ens3 inet6 static
    address 2001:e42:102:1501:XXX:XXX:XXX:XXX
    netmask 64
    gateway 2001:e42::1 など
    dns-nameservers 2001:e42::2 など

なんのことはないdhcpが使えなくなるのでstaticに直すだけ。(/etc/network/interfaces)

あまり変更をしすぎると新しいUbuntuへアップグレードの際に修正が増えてしまう。かも

≫ Read More

2018/06/01 コンピュータ   TakeMe

Windows 10 April 2018 Updateが原因?タッチパッドの不具合

長時間PCを使用しているとほぼ100% タッチパッドのスクロール機能が停止してしまう状態だったが,ドライバの更新を行って…

Windows 10 April 2018 Updateのせいかなとも思いコントロールパネルで,Synapticsのドライバのインストール日付を確認するとUpdateをインストールした日付になっていた。

アップデートと合わせてインストールされたのかそれともその直後の作業でインストールされたのかわからない。

たまたま私のパソコンが中古のHPのパソコンだったのでHPのサイトからSynaptics LuxPadのドライバをダウンロードしインストール。
とりあえず復帰したかなー?

そろそろこのパソコンも交換かなー

≫ Read More

2018/05/31 コンピュータ   TakeMe

jCanvasのイベントに苦労

jCanvasのイベントの設定にはまってしまった。

普通にjCanvasではmouseoverなどのイベントが設定できるとあったのでそれを使ってみようとしていたがなかなかできない。

<canvas id="image" height="300" width="300"></canvas>
<script>
$('#image').drawRect({
  fillStyle: '#000',
  x: 10, y: 100,
  width: 200,
  height: 100,
  fromCenter: false,
  mouseover: function(layer) {
    alert("test");
  }
});
</script>

よくよく調べてようやく以下の項目が抜けていることに気が付いた。

<script>
$('#image').drawRect({
  layer: true,
  fillStyle: '#000',
  x: 10, y: 100,
  width: 200,
  height: 100,
  fromCenter: false,
  mouseover: function(layer) {
    alert("test");
  }
});
</script>

何でもないところではまるのは恐ろしい。

他にfromCenter: falseも間違いやすい。

≫ Read More

2018/05/29 コンピュータ   TakeMe

Node.jsのzipからのインストール

Windows 10でNode.jsを手動インストールしてみた。

Node.jsのzipファイルをダウンロードする。

そのままダウンロードをしてしまうとmsiファイルがダウンロードされてしまうので,他のバージョンを選んでzipファイルをダウンロードする。

次にダウンロードしたファイルを展開。

環境変数のPathなどをいじると全体に影響が出るので,展開したフォルダの中のnodevars.batへのショートカットを作成した。

これまた,バッチファイルが実行されるだけになってしまうので,ショートカットのプロパティでリンク先を
C:\Windows\System32\cmd.exe /k "[もともとのリンク先]"
に変更した。作業フォルダの項目は空にしておくとショートカットのあるフォルダが作業フォルダになる。

一部のdllのインポートなどにpython 2.7が必要になったら,WinPythonなどをインストールしておいてnodevars.batに例えば
set "PATH=[WinPythonのパス]\python-2.7.xx.amd64;%PATH%"
などを追加しておいた方がよい。

≫ Read More

2018/05/27 コンピュータ   TakeMe

Chromeのデベロッパーツールって

デベロッパーツールとはデバッグ中の値の推移を確認するだけの機能と思っていた

デベロッパーツールはJavaScriptの変数やDOMへある程度自由に書き込み、読み出しができるようになっている。

今までこの機能を知らなかったために費やした時間の多いことか。

途中でコンソールからコマンドを入れれば、値の入力をシミュレートできるということで便利…

知らなかった。

≫ Read More

2018/05/08 コンピュータ   TakeMe